2016-10-26 4 views
-4

그 의사 코드를 Python으로 변환하려고합니다.계속 가져 오기 TypeError : 'int'객체는 subscriptable이 아닙니다.

의사 :

FOR Count <- 1 TO 13 DO 
    OUTPUT "Please enter next digit of ISBN: " 
    INPUT ISBN[Count] 
ENDFOR 
CalculatedDigit <- 0 
Count <- 1 
WHILE Count < 13 DO 
    CalculatedDigit <- CalculatedDigit + ISBN[Count] 
    Count <- Count + 1 
    CalculatedDigit <- CalculatedDigit + ISBN[Count] * 3 
    Count <- Count + 1 
ENDWHILE 
WHILE CalculatedDigit >= 10 DO 
    CalculatedDigit <- CalculatedDigit - 10 
ENDWHILE 
CalculatedDigit <- 10 - CalculatedDigit 
IF CalculatedDigit = 10 
    THEN CalculatedDigit <- 0 
ENDIF 
IF CalculatedDigit = ISBN[13] 
    THEN OUTPUT "Valid ISBN" 
    ELSE OUTPUT "Invalid ISBN" 
ENDIF 

파이썬 :

for Count in range(1,13): 
    print("Please enter next digit of ISBN:") 
    ISBN = int(input(">")) 
    ISBN[Count] 
CalculatedDigit = 0 
Count = 1 
while Count < 13: 
    CalculatedDigit = CalculatedDigit + ISBN 
    Count = Count + 1 
    CalculatedDigit = CalculatedDigit + ISBN * 3 
    Count = Count + 1 
while CalculatedDigit >= 10: 
    CalculatedDigit = CalculatedDigit - 10 
    CalculatedDigit = 10 - CalculatedDigit 
if CalculatedDigit == 10: 
    CalculatedDigit = 0 
if CalculatedDigit == ISBN[13]: 
    print("Valid ISBN") 
else: 
    print("Invalid ISBN") 

나는이 오류를 형식 오류를 얻을 왜 난 정말 아무 생각이 없다 'INT'다음은 의사입니다 객체는 subscriptable이 아닙니다.

+1

무엇을하려하십니까? 문제가 뭐라고 생각하니? 너 뭐 해봤 니? 또한 참조하십시오 : http://stackoverflow.com/help/how-to-ask –

답변

0
ISBN = int(input(">")) 

ISBN은 정수입니다.

ISBN[Count] 

위치를 ISBNCount에 액세스하려고합니다.

ISBN = list(map(int, input('Please enter full ISBN: '))) 

ISBN 지금 정수의 목록이며, 예상대로 작동합니다 :하지만 당신은 정수

은 무엇 대신 할 첨자에되지 수 없기 때문에.

+1

그 코드에서 다른 오류가 있습니다 :'CalculatedDigit == ISBN [13] :' –

+1

그럼 올바른 방법은 무엇입니까? ? –

+0

@AnasYusef 나는 그것을 내 게시물에 편집했습니다. 페이지 새로 고침 –

0

ISBN은 (는) 배열이 아닙니다.

배열 : ISBN = [1,2,3,4]

배열 액세스 : ISBN[2] 반환됩니다 3

당신이 그것으로 일을하려고 정확히 무엇

?

+1

ISBN은 도서의 일련 번호입니다. 그들은 수표 숫자가 있습니다. ISBN 번호를 확인하려고합니다. –

0

생각해보십시오.

a = 5 
print(a[1]) 

무엇을 인쇄 하시겠습니까?

숫자는 목록이 아닙니다. []을 사용하면 개체에 포함 된 내용에 액세스하려고하지만 int에는 아무 것도 포함되어 있지 않습니다. 그들은 단지 숫자입니다.