为什么用以下代码输出为1?

时间:2018-08-22 09:54:41

标签: python-3.x

我是python的新手,正在尝试一些东西。我编写的以下代码在测试时返回了值1。谁能解释为什么?

def cube(x):
    return x < 2 + x

result = (cube(5) ** 3)
print(result)

1 个答案:

答案 0 :(得分:2)

您的功能

def cube(x):
    return x < 2 + x

返回x < 2 + x

x < 2 + x检查x是否小于2 + x,然后返回true。如果将其放入您的result计算中,您将:

result = ( true ** 3 )

将数学运算符应用于布尔值时,如果1,则将它们转换为true,如果0,则将它们转换为false。因此,您的result计算等于

result = ( 1 ** 3 )

1。