当且仅当此人的年龄大于 50 岁或他们有一个由 has_access_card 指示的访问卡时才返回 True。
这是我的程序:
def bypass_line(age, has_access_card):
if age >50 or has_access_card ("yes"):
return True
这是我得到的错误:
'str' object is not callable
has_access_card
是一个字符串,你试图像函数一样调用它,它后面的括号是什么。
我很确定你的意思是has_access_card == "yes"
相反。
一个更好的方法可能是传递True
orFalse
而不是字符串,或者,如果您必须传递一个字符串(例如因为它是用户输入),那么使用has_access_card.lower().startswith("y")
最能容忍可能传入的内容。
据我所知,has_access_card
是一个字符串。如果是这样,那么(...)
在它之后放置将使 Python 尝试将其作为函数调用。字符串不能像函数一样被调用,所以你会得到一个错误。
我想你真正的意思是这样的:
def bypass_line(age, has_access_card):
if age > 50 or has_access_card == "yes":
return True
此方法查看是否has_access_card
等于"yes"
。