[英]ISBN check digit calculation problems
下列代码为什么总是返回相同的校验码,有人可以提供帮助吗?
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)的信息。 谢谢
我认为for digit in '1234567890'
中for digit in request
应for digit in request
。
查看您的代码,您可以看到您接受了用户的request
值,但是在检查了它的长度之后,您将不再对其进行任何其他操作。 该程序的输出无法更改。
您似乎并没有根据用户要求对变量进行任何计算。 后续代码中未使用变量请求...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.