使用python代码填写框,这将使程序行为 匹配评论。您不得对代码进行任何其他更改 在括号“()”之外添加代码。
def bypass_line(age, has_acces_card): ''' (int, bool) -> bool Return True if and only if the person's age is greater than 50 or they have a access card as indicated by has_access_card. ''' return ( )
这是我正在做的一个练习题。我处于两难境地,我知道如何编写代码......
是:
def bypass_line(age, has_vip):
if age >70 or has_vip =="yes":
return True
return False
但如何在()中编写一行代码,以便我回答问题?
答案 0 :(得分:3)
您的if
表达式已经会产生一个布尔值;它是True
或False
。你可以直接退货:
return age > 70 or has_vip == "yes"
这基本上是if
测试的内容;接受你的表达,将其传递给bool()
,看看它是True
还是False
。此处不需要bool()
,因为比较运算符(>
和==
)本身已经返回True
或False
:
>>> age = 60
>>> age > 70
False
>>> age = 80
>>> age > 70
True
答案 1 :(得分:2)
像这样:
def bypass_line(age, has_acces_card):
return age > 50 or has_acces_card == "yes"
这基本上返回由if语句计算的表达式本身。由于表达式已在if语句中返回True
或False
,因此它将在此处执行相同的操作。
答案 2 :(得分:0)
在bypass_line函数内部,您可以简单地编写
return age > 50 or has_acces_card == "yes"
由于我更像是一个C ++人,我更喜欢像这样组织代码。它帮助我更清楚地思考。
return (age > 50) or (has_acces_card == "yes")
无论哪种方式,代码只是检查该人是否
如果 为真(因此or
),该函数将返回True
。否则,它将返回错误。
逻辑与if
语句中的逻辑完全相同,只是在True
语句中使用了结果False
或return
(您还有相同的表达式,只是结果在其他地方使用)。你可以在任何地方使用那个(或任何)表达式,例如在print
中,变量的定义,作为函数的参数......逻辑总是相同的。