【问题标题】:Why doesn't this work (can't assign the operator) in Python为什么这在 Python 中不起作用(无法分配运算符)
【发布时间】:2013-11-13 13:19:36
【问题描述】:

它说它不能分配操作员。 为什么这不起作用?

print ("Welkom")
print ("Voer het huidige bedrag op uw rekening in")
currentbank = input ("huidige bedrag:€")
print ("Hoeveel wil je erafhalen")
minusbank = input ("min:€")
print ("Je hebt als je dit doet:")
afterbank = false 
afterbank = currentbank - minusbank
print ("Dankjewel dat je dit programma gebruikt hebt")

"afterbank = currentbank - minusbank" 有这个错误:

TypeError: 不支持的操作数类型 -: 'str' 和 'str'

【问题讨论】:

  • 当您遇到问题时,请务必包含完整的回溯。
  • currentbank-minusbank=afterbank 你想在这里做什么?我的猜测是您想做afterbank=currentbank-minusbank,然后根本不需要afterbank=False。但我可能错了。

标签: python assign


【解决方案1】:

false 应拼写为False(大写F)。

currentbank-minusbank=afterbank 背后的意图我不清楚,但它不是有效代码。

【讨论】:

    【解决方案2】:

    两件事:

    afterbank=false 
    

    您应该将其拼写为False。在 Python 中,TrueFalse 用大写字母拼写。

    下面这行也不行(不正确):

    currentbank-minusbank=afterbank
    

    我想你的意思是:

    afterbank = currentbank - minusbank
    

    这意味着你从currentbank 中减去minusbank 并将结果存储在afterbank 中。

    【讨论】:

      【解决方案3】:

      您正在尝试对表达式使用赋值:

      currentbank-minusbank=afterbank
      

      这不起作用;此处没有可分配的名称。也许您想在这里测试是否相等?

      currentbank - minusbank == afterbank
      

      现在您有了一个有效的表达式,但结果(TrueFalse)被忽略了。

      您的编辑器还显示您正在使用未定义的名称; false 被视为一个名称,而不是值 False,因此它警告您,NameError 很可能会出现在那里。

      认为你想显示总和的结果:

      afterbank = currentbank - minusbank
      print("Nu heb je", afterbank, "over")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-20
        • 2017-03-16
        • 1970-01-01
        • 2013-05-28
        • 1970-01-01
        • 2013-09-17
        相关资源
        最近更新 更多