ISBN程序的Python属性错误

ISBN程序的Python属性错误,python,isbn,check-digit,Python,Isbn,Check Digit,我刚刚修复了我的ISBN校验位代码,以提高效率,但现在它返回时出现了一个属性错误: AttributeError: 'int' object has no attribute 'append' 代码如下: isbn = 0 result = 0 results = 0 print("Please input your ISBN 1 number at a time") isbn = [int(input("ISBN character {0}: ".format(i))) for i

我刚刚修复了我的ISBN校验位代码,以提高效率,但现在它返回时出现了一个属性错误:

AttributeError: 'int' object has no attribute 'append'
代码如下:

isbn = 0
result = 0
results = 0
print("Please input your ISBN 1 number at a time")
isbn = [int(input("ISBN character {0}: ".format(i))) 
    for i in range(1, 11)]
results.append(isbn[0] * 11)
results.append(isbn[1] * 10)
results.append(isbn[2] * 9)
results.append(isbn[3] * 8)
results.append(isbn[4] * 7)
results.append(isbn[5] * 6)
results.append(isbn[6] * 5)
results.append(isbn[7] * 4)
results.append(isbn[8] * 3)
results.append(isbn[9] * 2)
enter code here
results = sum(results)
result = results % 11
result = 11 - result
result = str(result)

if result == "10":
    result = "X"
print("Your ISBN is '",
      isbn[range(10)],result,"'")
print("The checksum is",result)

非常感谢

您没有将您的
结果
声明为列表。它应该是
results=[]
。当前是
results=0
,这使得它成为
int
,因此
append
操作失败,并出现AttributeError

您应该学会自己解决类似问题。而不是想着“救命啊!它显示一个属性错误!最好把这个问题贴到网上,想想为什么它会显示错误。错误消息甚至会告诉您原因:因为对象是int。为什么是int?您希望它是int吗?应该是什么呢?对不起,我有点惊慌失措,下次我会这样做。这只是一个中级或有经验的程序员经常面临的问题,可能一个小时几次,通过阅读错误消息并稍微思考一下就可以解决。如果你想做一个更大的项目(>100行代码),那么对于每一个可以用最少的思考来解决的小错误,都要求这样做是不可行的。