繁体   English   中英

ISBN校验位计算问题

[英]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 requestfor digit in request

查看您的代码,您可以看到您接受了用户的request值,但是在检查了它的长度之后,您将不再对其进行任何其他操作。 该程序的输出无法更改。

您似乎并没有根据用户要求对变量进行任何计算。 后续代码中未使用变量请求...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM