首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查ISBN书号是否有效

检查ISBN书号是否有效
EN

Stack Overflow用户
提问于 2016-03-31 13:43:20
回答 2查看 1.1K关注 0票数 2

因此,我一直试图将这个“验证器”从伪代码转换为Python,但我不太确定我的值是否被放入列表中。输入第一个值后,会出现一个错误:'int' object is not callable。但是如果我去掉了isbn = mylist(),上面写着name 'isbn' is not defined。有人能指出我的错误在哪里吗?

我很确定我没有正确地设置我的名单。

下面是下面的PSEUDOCODE:

我的密码是:

代码语言:javascript
复制
def checkDigit():
    calculateDigit = 0
    count = 1
    calculateDigit = 10 - calculateDigit
    for count in range (1,14):
        mylist = int(input("Please enter the next digit of the ISBN: "))
 #      isbn = mylist()
    while (count <= 13):
        calculateDigit = calculateDigit + isbn[count]
        count = count + 1
        calculateDigit = calculateDigit + (isbn[count] * 3)
        count = count + 1
    while (calculateDigit >= 10):
        calculateDigit = calculateDigit - 10
    if (calculateDigit == 10):
        calculateDigit = 0
    if (calculateDigit == isbn[13]):
        print ("Valid ISBN")
    else:
        print ("Invalid ISBN")



checkDigit()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-31 13:49:54

您将得到该错误,因为您为mylist分配了一个int,然后调用它。这相当于

代码语言:javascript
复制
>>>5() # 'int' object is not callable error

尝试将isbn设置为字符串,就像这样

代码语言:javascript
复制
isbn = ""
    for count in range (1,14):
    mylist = int(input("Please enter the next digit of the ISBN: "))
    isbn += mylist

或者像这样的数字列表

代码语言:javascript
复制
isbn = []
    for count in range (1,14):
    mylist = int(input("Please enter the next digit of the ISBN: "))
    isbn.append(mylist)
票数 1
EN

Stack Overflow用户

发布于 2016-03-31 13:50:04

mylist是一个整数,不能执行mylist()操作

我认为您打算做的是isbn.append(mylist),所以当循环结束时,所有的项都存储在isbn中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36335220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档