我们可以在return语句中使用逻辑运算符吗



在这种情况下,我是否可以使用not运算符,并使用not运算符将else输出为false

# NEW TO PYTHON
def is_positive(number):
if number > 0:
return bool(number)
else:
return not bool(number)

是。你可以。bool函数将返回除零以外的任何数字的true(即使是负一(。但是这个代码不好。你可以用很多更好的方法来做。最好的办法就是这样做。

def is_positive(number):
return (number > 0)

如果是一个这样做的语句:如果条件为真,那么做这个,否则做那个。在代码中,情况是这样的:如果条件为true,则返回true,否则返回false。所以你可以简单地说return条件的答案,而不是说它是否为true return true。如果数字为正,则number > 0的答案将变为真,所以它就像说return true,如果不是,则条件的答案将变成false,所以它像说return false。实际上,当您调用此方法时,它会首先检查条件。如果它是真的,它将被替换为真,如果不是,它将替换为假。

可以。

但一个更好的代码看起来是这样的:

def is_positive(number):
return (number > 0)

如果number == 0,则代码返回True,即使它进入else部分,因为如果number != 0bool(number)总是返回True。如果需要,请使用>=而不是>

在代码中,您要计算两个布尔值,而一个就足够了。您正在计算一个布尔值number > 0,如果它是True,您将计算一个新的布尔值,如果第一个条件有效,它将始终是True,对于else语句也是如此,所以这就像写:

def is_positive(number):
if number > 0:
return True
else:
return False

现在您可以更清楚地看到,如果number > 0True,它将返回True;如果number > 0False,则返回False。但number > 0本身就是一个布尔语句,其求值结果为TrueFalse。例如,如果您知道number > 0,那么您的代码等效于:

def is_positive(number):
if True:
return True
else:
return False

如果不是:

def is_positive(number):
if False:
return True
else:
return False

如您所见,您可以直接返回number > 0

您不能!从语法上讲,你可以:程序将被编译。然而,它的工作方式与你想象的不同。

除了一个零转换成CCD_ 27之外的每个数字都给出CCD_。

最新更新