다음 코드가 항상 동일한 수표 번호를 반환하는 이유에 대해 도움을 줄 수 있습니까? 내가 코드를 imptove, 또는 수있는 방법에ISBN 수표 계산 문제
def ISBN():
numlist = []
request = raw_input("Please enter the 10 digit number: ")
if len(request) == 10:
listofnums = [int(digit) for digit in '1234567890']
multipliers = reversed(range(2,12))
multipliednums = [a*b for a,b in zip(listofnums, multipliers)]
print multipliednums
added_result = sum(multipliednums)
print added_result
remainder = added_result % 11
print remainder
check_digit = 11 - remainder
print check_digit
ISBN()
if len(request) != 10:
print "Invalid Input"
ISBN()
ISBN()
정보 나 팁은 항상 같은 자리 (9) 상관없이 입력을 eturns 단지 이유. 고맙습니다.
팁 : ISBN을 재귀 적으로 호출하지 마십시오. 영원히 무언가를하고 싶다면'while True :'블록을 사용하십시오 : ISBN 번호를 충분히 입력하면 파이썬 인터프리터를 중단시킬 수 있습니다. – DSM