반응형
딕셔너리에 문제와 정답을 저장하고 사용자에게 하나씩 꺼내 제시하는 프로그램을 작성해보자.
단, 사용자는 번호가 아닌 문자열로 답해야 함
problems = {'파이썬':'최근에 가장 떠오르는 프로그래밍 언어', '변수':'데이터를 저장하는 메모리 공간','함수':'작업을 수행하는 문장들의 집합에 이름을 붙인 것','리스트':'서로 관련이 없는 항목들의 모임'}
def show_words(problems):
display_message=''
i=1
for word in problems.keys():
display_message += '('+str(i)+')'
display_message += word+''
i+=1
print(display_message)
for meaning in problems.values():
print('다음은 어떤 단어에 대한 설명일까요? ')
print('\''+meaning+'\'')
correct = False
while not correct:
show_words(problems)
guess_word = input('')
if problems[guess_word] == meaning:
print('정답입니다!')
correct = True
else:
print('오답입니다!')
▶ problems = {'파이썬':'최근에 가장 떠오르는 프로그래밍 언어', '변수':'데이터를 저장하는 메모리 공간','함수':'작업을 수행하는 문장들의 집합에 이름을 붙인 것','리스트':'서로 관련이 없는 항목들의 모임'} :
problems 딕셔너리에 정답에 대한 key값과 value값을 저장
def show_words(problems):
display_message=''
i=1
for word in problems.keys():
display_message += '('+str(i)+')'
display_message += word+''
i+=1
print(display_message)
▶ show_words() 사용자 정의 함수 생성
→ problems 딕셔너리의 key값들 중에 word가 있으면 () 안에 i 값을 1씩 늘려가며 넣음
→ i값을 하나씩 늘리며 괄호 안에 넣은 후에는 word와 빈칸을 출력
for meaning in problems.values():
print('다음은 어떤 단어에 대한 설명일까요? ')
print('\''+meaning+'\'')
correct = False
while not correct:
show_words(problems)
guess_word = input('')
if problems[guess_word] == meaning:
print('정답입니다!')
correct = True
else:
print('오답입니다!')
▶ problem 딕셔너리에 저장된 value값들이 meaning에 존재한다면 사용자에게 질문을 던진 후, 입력한 정답이 true일 경우 정답, false일 경우 오답을 출력함
▶ 저장된 모든 문제에 대한 답을 해결하면 프로그램이 종료됨
반응형
'Language > Python' 카테고리의 다른 글
[ Python ] 파일 복사하기 프로그램 (0) | 2021.09.04 |
---|---|
[ Python ] 파일 개념 정리 (0) | 2021.09.04 |
[ Python ] 전화번호부 프로그램 (0) | 2021.09.04 |
[ Python ] 튜링상 수상자 데이터 분석 프로그램 (0) | 2021.09.04 |
[ Python ] e-mail 보내기 프로그램 (0) | 2021.09.03 |