Language/Python

[ Python ] 문제 제시 프로그램

곽수진 2021. 9. 4. 05:01
반응형
딕셔너리에 문제와 정답을 저장하고 사용자에게 하나씩 꺼내 제시하는 프로그램을 작성해보자.

단, 사용자는 번호가 아닌 문자열로 답해야 함

 

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일 경우 오답을 출력

 

 

결과값 출력 모습

▶ 저장된 모든 문제에 대한 답을 해결하면 프로그램이 종료

반응형