difflib,类型错误 int object is not iterable
difflib, type error int object is not iterable
Link to the code
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:
类型错误:'int' 对象不可迭代
我对这个程序一直很顺利,但遇到了这堵墙,尝试了很多不同的方法来解决这个问题,但真的做不到。该程序是一个打字 test/practice 的东西。我希望这里的任何人都可以帮助我找到解决我的错误消息的方法,或者任何建议,总的来说,会很棒。
注意:
我是这个网站的新手,所以如果我使用的 'format' 有误,我深表歉意。
我查看了 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
Link to the code
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: 类型错误:'int' 对象不可迭代
我对这个程序一直很顺利,但遇到了这堵墙,尝试了很多不同的方法来解决这个问题,但真的做不到。该程序是一个打字 test/practice 的东西。我希望这里的任何人都可以帮助我找到解决我的错误消息的方法,或者任何建议,总的来说,会很棒。
注意: 我是这个网站的新手,所以如果我使用的 'format' 有误,我深表歉意。
我查看了 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