【问题标题】:can't assign to function call Error-Python无法分配给函数调用 Error-Python
【发布时间】:2017-03-01 18:33:48
【问题描述】:

所以我正在做一个项目,用输入的 5 位邮政编码创建邮政条形码 这是我到目前为止所拥有的,我不确定为什么会出现此错误或如何修复它,感谢您的帮助!

zipcode=input("What is your 5 digit zipcode?")
s=zipcode.split(",")

def correctiondigit(zipcode):     #LAST BLOCK OF 6 BLOCK BARCODE
    zipcode.split()
    total=int(zipcode[0])+int(zipcode[1])+int(zipcode[2])+int(zipcode[3])+int(zipcode[4])
    if total % 10!=0:
        total=total+(10-total%10)  


print(correctiondigit(zipcode))    #not working on this yet        

def barcode(a):                                                        
    if a==0:
        print("||:::") 
    elif a==1:
        print(":::||")
    elif a==2:
        print("::|:|")
    elif a==3:
        print("::||:")
    elif a==4:
        print(":|::|")
    elif a==5:
        print(":|:|:")
    elif a==6:
        print(":||::")
    elif a==7:
        print("|:::|")
    elif a==8:
        print("|::|:")
    elif a==9:
        print("|:|::")



for the_zipcode in s:
    print(barcode(the_zipcode))  

【问题讨论】:

  • 我建议将total=int(zipcode[0])... 更改为total=sum(int(x) for x in zipcode)。更易读,更容易输入。

标签: python syntax-error barcode


【解决方案1】:

你的错误在这里:

for barcode(a) in s:

这是无效的语法,因为在 for 循环中绑定的名称必须是 python 标识符。

您可能正在尝试这样的事情:

for the_zipcode in s:
    print(barcode(the_zipcode))

【讨论】:

  • print(the_zipcode(barcode)) TypeError: 'str' object is not callable
  • 所以我改变了你的建议,它给了我这个^
  • 我现在明白了,抱歉,但是我试图在 for 循环中调用函数“barcode(a)”来打印输入邮政编码中每个数字的“::|:|:”内容...当我使用“the_zipcode”时,它只会打印输入的邮政编码
  • 你是蟒蛇之神,请帮助...我会为你的强大牺牲我的长子...
【解决方案2】:

我相当肯定你的问题是你使用了s=zipcode.split(",")。这样做是将用户输入的字符串(如果您使用的是 python 3)拆分为字符串数组,其中每个元素由逗号分隔。例如:

'11111'.split(',') # ['11111']
'11111,12345'.split(',') # ['11111', '12345']

这几乎肯定不是您想要的,因为您要求用户输入 5 位数的邮政编码。如果你直接使用输入,我想你会得到你想要的。

即:

zipcode=input("What is your 5 digit zipcode?")
# . . .
for digit in zipcode:
  print(barcode(digit)) 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-23
    • 2021-06-06
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多