对于为什么下面的代码总是返回相同的校验位数字,有人能提供任何帮助吗?在
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)。 谢谢你
查看您的代码,您可以看到您接受了来自用户的
request
的值,但是在检查了它的长度之后,您不再对它做任何其他操作。这个程序的输出是不可能改变的。在您似乎并没有对您向用户请求的变量进行任何计算。 后续代码中未使用变量请求。。。在
我认为}。在
for digit in '1234567890'
应该是{相关问题 更多 >
编程相关推荐