-1

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)

どうもありがとう

4

1 に答える 1

2

resultsリストであることを宣言していません。である必要がありますresults = []。現在はresults = 0であるintため、append操作は AttributeError で失敗します

于 2014-04-03T17:00:46.020 に答える