Python 为什么我的输出是3我需要一个解释

Python 为什么我的输出是3我需要一个解释,python,python-3.x,Python,Python 3.x,这是我的密码 num = 0 for i in range(5, 0 ,-1): num += i > num print(num) 这是我得到的结果 3 谁知道呢请解释清楚在循环中添加打印语句: num = 0 for i in range(5, 0, -1): print(num, i, i > num, int(i > num)) num += i > num print(num) 给出: # num, i, i > n

这是我的密码

num = 0 
for i in range(5, 0 ,-1):
    num += i > num 

print(num)
这是我得到的结果

3 

谁知道呢请解释清楚

在循环中添加打印语句:

num = 0
for i in range(5, 0, -1):
    print(num, i, i > num, int(i > num))
    num += i > num

print(num)
给出:

# num, i, i > num, int(i > num)
  0    5  True     1
  1    4  True     1
  2    3  True     1
  3    2  False    0
  3    1  False    0

i>num
是一个布尔值
True
只是(一个薄薄的包装)
1
False
is
0

我可以推荐吗?仅举一个简单的例子
sum([True,True,False])
is
2