작성
·
470
1
import random
words_dict = {'사자':'lion', '호랑이':'tiger','사과':'apple','비행기':'airplane'}
words = []
for world in words_dict:
words.append(words)
random.shuffle(words)
chance = 3
for i in range(0, len(words)):
q = words[i]
for j in range(0, chance):
user_input = str('{}의 영어단어를 입력하세요'.format(q))
english = words_dict[q]
if user_input.strip().lower() == english.lower():
print('정답입니다!')
break
else:
print('틀렸습니다')
if user_input != english:
print('정답은 {}입니다'.format(english))
print('모든 문제를 제출했습니다')
전체 코드는 이렇게 작성했고 오류는
line 17, in <module>
english = words_dict[q]
TypeError: unhashable type: 'list'
이렇게 뜨는데 unhashable type을 구글링 해봐도 튜플 관련 글만 나와서 해결이 안되더군요.
강의를 다시 봐도 제가 실수한 부분을 모르겠어서 질문드립니다.
답변 2
2
world의 값이 words에 추가되어야 하기 때문에
append 인자에 words가 아닌 world를 넣으셔야 됩니다!
입력을 받아야 하기 때문에 input()을 넣어주셔야 됩니다!
아아 그렇군요 왜 오타는 내가 보면 안보이고 남이 보면 보이는 걸까요ㅋㅋㅋ
감사합니다!