Python 一行返回函数

Python 一行返回函数,python,function,return,Python,Function,Return,在框中填入将使程序行为正常的python代码 匹配注释。您不得对代码或文件进行任何其他更改 在括号“()”外添加代码 这是我正在做的练习题。我现在左右为难,我知道如何写代码 即: def bypass_line(age, has_vip): if age >70 or has_vip =="yes": return True return False 但是如何在()中编写一行代码,以便回答问题?如下: def bypass_line(age, has_ac

在框中填入将使程序行为正常的python代码 匹配注释。您不得对代码或文件进行任何其他更改 在括号“()”外添加代码

这是我正在做的练习题。我现在左右为难,我知道如何写代码

即:

def bypass_line(age, has_vip):
    if age >70 or has_vip =="yes":
        return True
    return False
但是如何在()中编写一行代码,以便回答问题?

如下:

def bypass_line(age, has_acces_card):
    return age > 50 or has_acces_card == "yes"
这基本上是返回由if语句计算的表达式本身。由于表达式在if语句中已经返回了
True
False
,因此它在这里也会返回相同的结果。

如下所示:

def bypass_line(age, has_acces_card):
    return age > 50 or has_acces_card == "yes"

这基本上是返回由if语句计算的表达式本身。由于表达式在if语句中已经返回了
True
False
,因此在这里也会返回相同的结果。

您的
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

如果表达式
已经生成布尔值,则您的
;它是
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

在旁通线函数中,您可以简单地编写

return age > 50 or has_acces_card == "yes"
因为我更喜欢C++,所以我喜欢组织这样的代码。它帮助我更清楚地思考

return (age > 50) or (has_acces_card == "yes")
不管是哪种方式,代码都会简单地检查用户

  • 年龄超过50岁
  • 他有一张门禁卡
如果任一为真(因此为
),函数将返回一个
。否则,它将返回一个false


逻辑与
if
语句中的逻辑完全相同,只是结果
True
False
被用在
return
语句中(您仍然有相同的表达式,只是结果在别处使用)。您可以在任何地方使用该表达式(或实际上任何表达式),例如在变量定义的
打印中,将其用作函数的参数。。。逻辑总是一样的。

在旁通线函数中,您可以简单地写入

return age > 50 or has_acces_card == "yes"
因为我更喜欢C++,所以我喜欢组织这样的代码。它帮助我更清楚地思考

return (age > 50) or (has_acces_card == "yes")
不管是哪种方式,代码都会简单地检查用户

  • 年龄超过50岁
  • 他有一张门禁卡
如果任一为真(因此为
),函数将返回一个
。否则,它将返回一个false


逻辑与
if
语句中的逻辑完全相同,只是结果
True
False
被用在
return
语句中(您仍然有相同的表达式,只是结果在别处使用)。您可以在任何地方使用该表达式(或实际上任何表达式),例如在变量定义的
打印中,将其用作函数的参数。。。逻辑总是一样的。

真的吗?!?我能做到吗?@user2891763:你可以返回任何表达式的结果。如果表达式本身已经是
True
False
,那么直接返回即可。真的吗?!?我能做到吗?@user2891763:你可以返回任何表达式的结果。如果表达式本身已经是
True
False
,则直接返回该表达式。