【发布时间】:2019-01-20 05:51:54
【问题描述】:
大家早上好 :) 我目前正在做一个词汇培训师。 我有一本字典,其中存储了所有词汇及其翻译。现在我有一个查询,告诉我应该翻译哪些词汇。
如果我现在正确输入翻译,那么被查询的单词的概率应该会降低。我怎样才能做到这一点?我想知道,在回答正确的翻译时,是否可以通过制作另一个应该比第一个更少被调用的列表并将词汇表移动到该列表中来实现这一点。
这是我的代码:
import random
vokabeln = {
"Haus": "house",
"Garten": "garden",
"Freund": "friend",
"Freundin": "friend"
}
versuche = int(input("Anzahl der Versuche: "))
i=0
while i < versuche:
x = random.choice(list(vokabeln))
y = vokabeln.get(x)
i+=1
versuch = input("Übersetze " + x)
if(versuch == y):
print("Korrekt!")
else:
print("Falsch, richtig war " + y)
【问题讨论】:
-
请将代码翻译成英文
-
第 18 行 versuch = input("Übersetze " + x) 也不起作用
-
你想要的是一个加权选择,其中权重与正确答案计数成反比。
-
因为您正在尝试添加“Übersetze” + x。 x 是一个整数。你得到这个错误 UnicodeEncodeError: 'ascii' codec can't encode character '\xdc' in position 0: ordinal not in range(128)
-
@TalhaIsrar x 不是整数,而是字符串。您收到的错误与其他问题有关,也许您的控制台不支持 Unicode 字符(“Ü”)。
标签: python python-3.x list dictionary