딕셔너리를 이용한 영단어퀴즈 중복제거 알려주세요!!
조회수 792회
<python>
import random
dic = {'apple':'사과', 'mango':'망고', 'melon':'멜론', 'go':'가다', 'tv':'티비'}
score=0
dic_list=tuple(dic.keys())
dic_answer=tuple(dic.values())
print("[영어단어 맞추기 퀴즈입니다. 단어를 보고 알맞은 한글을 써서 맞추세요.]")
tmp=len(dic_list)
while score<5:
x=random.randrange(0,tmp)
print(dic_list[x])
answer= input('답: ')
if answer == dic_answer[x]:
score= score +1
print('정답입니다. 당신의 점수는', score, '입니다.')
else:
print('오답입니다. 당신의 점수는', score,'입니다.')
break
print('수고하셨습니다.')
영어단어 퀴즈를 제가 간단하게 만들어 봤는데 이미 나왔던 영단어가 중복해서 다시 나오는 단점이 있습니다. 혹시 이미 나왔던 단어를 제외시키는 중복제외를 추가시켜주실수 있나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
아주 간단하게 다음과 같이 할 수 있습니다.
물어봤던 질문을 기억해 놓고, 물어봤던 질문이 뽑혔을 때는 다시 뽑는다.
물어봤던질문 = [] while score<5: x = random.randrange(0, tmp) # 질문뽑기 if x in 물어봤던질문: continue # 질문이 이미 물어봤던질문인지 확인. # ... 물어봤던질문.append(x) # 물어봤던질문으로 기억.
숙제는 스스로 하시길 권합니다. 질문답변게시판의 수준을 위해서도, 질문자 자신의 실력향상을 위해서도 혼자 고민하는 게 필요합니다.
댓글 입력