import random
import difflib
number = int(input("How many words do you want to practise?"))
words = [*3000 word array*]
for x in range(0, number):
text_1 = random.randint(0, 3000)
z = words[text_1]
print(z)
text_2 = str(input("Type:"))
seq = difflib.SequenceMatcher(isjunk=None, a=text_1, b=text_2)
difference = seq.quick_ratio()
difference = round(difference, 1)
print(str(difference) + "% Match")
print("Thank you!")
我不断收到的错误消息:(第12行)
self.a中的elt:TypeError:“ int”对象不可迭代
我在执行该程序时进展顺利,但是碰到了这堵墙,并尝试了许多种不同的方法来弄清楚它,但实际上做不到。该程序旨在作为打字测试/练习的东西。我希望这里的任何人都可以帮助我为我的错误消息找出解决方案,或者总的来说,任何建议都是不错的选择。
注意:我是该网站的新手,因此对于使用的“格式”有误,我深表歉意。
我看了看difflib.SequenceMatcher
文档,而且好像a
和b
需要被序列。您给它一个int
(text_1
)。如果认为你的意思
seq = difflib.SequenceMatcher(isjunk=None, a=z, b=text_2)
注意:您应该使用random.choice从列表中选择一个随机项目z = random.choice(words)
,这样您就不需要了text_1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句