Python ISBN校验位计算问题
有人能提供帮助吗?为什么下面的代码总是返回相同的校验位数Python ISBN校验位计算问题,python,digit,isbn,Python,Digit,Isbn,有人能提供帮助吗?为什么下面的代码总是返回相同的校验位数 def ISBN(): numlist = [] request = raw_input("Please enter the 10 digit number: ") if len(request) == 10: listofnums = [int(digit) for digit in '1234567890'] multiplier
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)。
谢谢我认为'1234567890'中数字的
应该是请求中数字的
我认为'1234567890'中数字的应该是请求中数字的
你似乎没有对你向用户请求的变量进行任何计算。
变量请求未在后续代码中使用…您似乎没有对向用户请求的变量进行任何计算。
变量请求未在后续代码中使用…查看您的代码,您可以看到您接受了来自用户的请求的值,但在检查其长度后,您不再对其执行任何其他操作。此程序的输出无法更改。查看您的代码,您可以看到您接受了用户发出的request
的值,但在检查其长度后,您不会再对其执行任何其他操作。此程序的输出不可能更改。这一点。还有,我很确定你之前发过一个关于这个的问题。。。在任何情况下,是的,小心复制粘贴代码。还有,我很确定你之前发过一个关于这个的问题。。。在任何情况下,是的,小心复制粘贴代码。提示:不要递归调用ISBN。如果您想永远做某事,请使用while True:
块:目前的情况是,如果我输入足够的ISBN号,我可以使Python解释器崩溃。提示:不要递归调用ISBN。如果您想永远做某事,请使用while True:
块:目前的情况是,如果我输入足够的ISBN数字,我可以使Python解释器崩溃。