2014-04-03 24 views
-1

我剛剛修好了我ISBN校驗碼的代碼要多一點效率,但現在它回來與屬性錯誤:Python的屬性誤差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) 

非常感謝

+0

您應該學會自己解決這類問題。而不是想'幫助!它顯示一個屬性錯誤!更好地把這個問題提交給SO!',想一想__why__它會顯示錯誤。該錯誤消息甚至會告訴你爲什麼:因爲該對象是一個int。爲什麼它是一個整數?你想讓它成爲一個整數嗎?它應該是什麼呢? –

+0

對不起,我有點恐慌,我會在下次做 – user3143129

+0

這只是一箇中級或有經驗的程序員經常面臨的問題,也許每個小時幾次,並通過閱讀錯誤信息並思考它一點點。如果你想做一個更大的項目(> 100行代碼),對於每一個可以用最少數量的自己的思想解決的小錯誤問SO是不可行的。 –

回答

2

您還沒有聲明您的results是一個列表。它應該是results = []。它目前是results = 0,這使得它成爲int,因此append操作失敗,出現AttributeError

+0

非常感謝,現在就開始工作。 – user3143129