谁能提供任何帮助,为什么下面的代码总是返回相同的校验数字?
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)。谢谢
发布于 2012-03-15 04:42:45
我认为for digit in '1234567890'应该是for digit in request。
发布于 2012-03-15 04:45:53
查看您的代码,您可以看到您接受了来自用户的request的值,但是在检查了它的长度之后,您不再对它做任何其他的事情。这个程序的输出是不可能改变的。
发布于 2012-03-15 04:45:28
您似乎没有在向用户询问的变量上计算任何内容。变量请求不会在后续代码中使用...
https://stackoverflow.com/questions/9709938
复制相似问题