2014-04-03 2 views
-1

ISBN 프로그램 오류 속성,하지만 지금은 속성 오류로 돌아오고 :파이썬은 그냥 좀 더 효율적으로 내 ISBN의 checkdigit 코드를 수정했습니다

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) 
: 여기

AttributeError: 'int' object has no attribute 'append' 

하면 코드의

덕분에 많은

+0

이와 같은 문제를 직접 해결하는 방법을 배워야합니다. 생각 대신에 '도움! 그것은 속성 오류를 표시합니다! 그 질문을 더 잘 게시하십시오! ', __why__가 오류를 표시한다고 생각하십시오. 오류 메시지는 이유를 알려줍니다. 객체가 int이기 때문입니다. 왜 int인가? int가되기를 원하십니까? 대신 무엇을해야합니까? –

+0

죄송합니다, 조금 공황 상태입니다. 다음 번에 할 것입니다. – user3143129

+0

이것은 중급 또는 경험 많은 프로그래머가 지속적으로 얼굴을 마주보고 있으며, 몇 시간에 한 번씩의 문제이며, 단지 오류 메시지를 읽고 그것에 대해 생각함으로써 해결됩니다. 조금. 더 큰 프로젝트 (> 100 줄의 코드)를 만들고 싶다면 최소한의 사고로 해결할 수있는 사소한 실수 하나 하나 하나 하나를 물어 보는 것은 불가능합니다. –

답변

2

당신은 선언하지 않은 당신의 results이리스트가 될 수 있습니다. results = []이어야합니다. 현재 results = 0이므로 int이므로 append 작업이 AttributeError와 함께 실패합니다.

+0

고마워, 지금 작동합니다. – user3143129

관련 문제