[Codeit - python] 고급 단어장

SUNGJIN KIM·2021년 9월 14일
1

codeit

목록 보기
5/18

문제

지난 실습 과제에서 단어장 퀴즈 프로그램을 만들었는데요. 학생들이 문제의 순서가 매번 똑같아서 재미가 없다고 합니다.

이번에는 random 모듈과 사전(dictionary)을 이용해서 vocabulary.txt의 단어들을 랜덤한 순서로 내도록 프로그램을 바꿔 보세요.

같은 단어를 여러번 물어봐도 괜찮고, 프로그램은 사용자가 알파벳 q를 입력할 때까지 계속 실행됩니다.

문제 풀이

지난번에 작성한 코드에서 i의 조건만 변경하였다.
i 를 랜덤으로 받아서 계속 문제풀이를 진행할 수 있도록 변경하였다.

from random import *

vocabulary = open("vocabulary.txt","r")

data = {}
i = 0

for line in vocabulary:
    key_value = line.strip().split(":")
    if len(key_value) == 2:
        data[key_value[0]] = key_value[1].strip()

quiz = list(data.keys())
meaning = list(data.values())

while True:
    i = randint(0,len(quiz)-1)
    answer = input(f"{meaning[i]} : ")
    if quiz[i] == answer:
        print("맞았습니다!")
    elif answer == "q":
        break
    else:
        print(f"아쉽습니다. 정답은 {quiz[i]}입니다.")

문제풀이 답변을 보니, 종료에 대한 조건으로 if문을 따로 작성하였는데 이유가 무엇일까?
질문 등록하고 답변 확인까지 되면 해당 문제는 보내줘야겠다.

profile
#QA #woonmong

0개의 댓글