[英]TypeError: 'str' object is not callable
我是Python的新手,我想知道是否有人可以帮助我编写我写的代码:
print("What is your name:")
name = raw_input()
print "hi", name, "How are you:"
Feeling = raw_input()
if Feeling ("good"):
print ("Good")
Else
print ("Thats a shame")
当我运行它时,它只会出现错误:
TypeError: 'str' object is not callable
我已经在网上看了,但我找不到任何有用的东西,因为答案很复杂。
有人可以帮帮我吗
您正在尝试将Feeling
存储的字符串用作函数。
if Feeling ("good"):
除了“ Feeling
和"good"
周围的括号之间只有空格,Python将其视为函数调用。
您可能想测试它是否等于"good"
而是:
if Feeling == "good":
print "Good"
在这一行:
if Feeling ("good"):
你试图将Feeling
称为一个函数,以"good"
作为参数。 这就是括号在这种语法中的含义。
如果要检查Feeling
是否等于 "good"
,请使用==
运算符:
if Feeling == "good":
同时,一旦你解决了这个问题,下一行你就会遇到另一个问题:
Else
在Python中,大写是重要的; else
必须全部拼写小写。 此外,块语句(如if
和else
)总是需要冒号。 并且块语句中的语句必须缩进。 所以,你想要这个:
else:
print("Thats a shame")
你可能想找一个更聪明的编辑器来帮助你解决这些问题,而不是使用Notepad / TextEdit /等。 任何体面的程序员编辑器 - 包括像SciTE或emacs这样的免费编辑器 - 都会尝试将光标放在正确的位置以进行缩进,在出现语法错误时突出显示,依此类推。
问题是这一行:
if Feeling ("good"):
Feeling
是一个字符串,是raw_input()的结果。 感觉(“好”)看起来像你想把它称为功能。 这是不可能的,因此它说“str对象不可调用”。
你可能意味着
if Feeling == "good":
你也错过了一个:
在else
,你不应该大写其他,并且后面的行应该缩进。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.