【发布时间】:2021-03-02 05:46:05
【问题描述】:
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' 对象不可迭代
我在这个程序中一直很顺利,但我已经到达了这堵墙,并尝试了很多不同的方法来解决这个问题,但真的做不到。该程序旨在成为打字测试/练习的东西。我希望这里的任何人都可以帮助我找出错误消息的解决方案,或者总体而言,任何建议都会很棒。
注意: 我对这个网站很陌生,所以如果我使用的任何“格式”有误,我深表歉意。
【问题讨论】:
-
代码必须在您的问题中作为文本发布,而不是作为外部链接或图像,或在 cmets 中。无论如何,从它的外观来看,您正在尝试使用
SequenceMatcher将用户输入的字符串与随机生成的整数进行比较。你的意思是比较随机整数的字符串表示? -
欢迎来到 SO!你能举一个你输入的文本的例子吗?
-
刚刚添加,对不起,我是这个网站的新手
-
@RandomDavis 代码中没有任何整数,想法是生成随机文本并输入该文本,然后比较两个字符串。 (打字测试/打字练习)
-
@Atassi 你这么说,但
text_1是一个整数。你的意思是通过z而不是text_1,比如a=z?
标签: python typeerror iterable difflib