[Python] Dictionary를 이용한 간단한 영한 사전 만들기

김보민·2023년 10월 20일
0

Python

목록 보기
12/12

[출처] 따라하며 배우는 파이썬과 데이터 과학 8장 lab2

Q. 영한 사전과 같이 영어 단어를 주면, 이에 해당하는 우리말 단어를 알 수 있게 하려고 한다. 딕셔너리 구조를 활용하여 단어를 입력하고, 검색할 수 있는 프로그램을 작성해 보라. 실행된 결과는 명령 프롬프트 '$'가 나타나며, 입력 명령은 '<', 검색 명령은 '>'로 표현 한다. 입력은 "영어 단어:우리말 단어" 형태로 이루어지며, 검색은 영어 단어를 입력한다. 프로그램의 종료는 'q' 키를 입력한다.

원하는 결과

사전 프로그램 시작... 종료는 q를 입력
$  < one:하나
$  < two:둘
$  < house:집
$  < Korea:한국
$  > one
하나
$  > house
집
$  > body
body가 사전에 없습니다.
$  q
사전 프로그램을 종료합니다.

print("사전 프로그램 시작... 종료는 q를 입력")
dictionary = {}

while True:
    st = input('$ ')	# 사용자로부터 입력을 받고 변수 st에 저장
    command = st[0]		# 첫 입력 문자 추출
    if command == '<':
        st = st[1:]		# 입력 문자열에서 첫번째 문자 <를 제외하고 나머지를 다시 st에 저장
        inputStr = st.split(':')	# :를 기준으로 문자열을 분할하고 inputStr 리스트에 저장
        if len(inputStr) < 2 :		# 리스트 길이가 2미만일 경우(키와 값이 없는 경우) 오류 메시지 출력
            print('입력 오류가 발생했습니다.')
        else:			# 그렇지 않은 경우, dictionary에 단어를 키로, 정의를 값으로 추가
            dictionary[inputStr[0].strip()] = inputStr[1].strip()
    elif command == '>':
        st = st[1:]
        inputStr = st.strip()		# 문자열의 앞뒤 공백을 제거하고 inputStr에 저장
        if inputStr in dictionary:	# inputStr이 dictionary의 키로 존재하면 해당 단어의 정의를 출력하고 없으면 없다는 메시지 출력
            print(dictionary[inputStr])
        else :
            print('{}가 사전에 없습니다.'.format(inputStr))
    elif command == 'q':
        break
    else:
        print('입력 오류가 발생했습니다.')
print("사전 프로그램을 종료합니다.")
  • strip([chars]): 인자로 전달된 String의 왼쪽과 오른쪽 공백 제거
  • lstrip([chars]): 인자로 전달된 String의 왼쪽 공백 제거
  • rstrip([chars]): 인자로 전달된 String의 오른쪽 공백 제거

0개의 댓글

관련 채용 정보