我对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
我在网上看过,但由于答案很复杂,我找不到任何有用的东西。
有人可以帮助我。
答案 0 :(得分:4)
您正尝试将Feeling
中存储的字符串用作函数。
if Feeling ("good"):
Feeling
与"good"
周围的括号之间只有空格,Python将其视为函数调用。
你可能想测试它是否等于"good"
:
if Feeling == "good":
print "Good"
答案 1 :(得分:4)
在这一行:
if Feeling ("good"):
您尝试将Feeling
作为函数调用,"good"
作为参数。这就是括号在这种语法中的含义。
如果您想检查Feeling
是否等于 "good"
,请使用==
运算符:
if Feeling == "good":
与此同时,只要你解决了这个问题,下一行你就会遇到另一个问题:
Else
在Python中,大小写很重要; else
必须拼写全部小写。此外,块语句(如if
和else
)始终需要冒号。并且块语句中的语句必须缩进。所以,你想要这个:
else:
print("Thats a shame")
你可能想找一个更智能的编辑器来帮助你解决这些问题,而不是使用Notepad / TextEdit /等。任何体面的程序员编辑器 - 包括像SciTE或emacs这样的免费编辑器 - 都会尝试将光标放在正确的位置进行缩进,在发生语法错误时突出显示,等等。
答案 2 :(得分:2)
问题在于这一行:
if Feeling ("good"):
Feeling
是一个字符串,是raw_input()的结果。感觉(“好”)看起来像你想把它称为功能。这是不可能的,所以它说“str对象不可调用”。
你可能意味着
if Feeling == "good":
您在:
之后也错过了else
,您不应该将其他大写,并且后面的行应该缩进。