Python 同时循环并将值解释为真或假

Python 同时循环并将值解释为真或假,python,Python,下面的程序来自python的一本书。在此代码中,count首先设置为0,然后,同时使用True。在书中,我读到零和空字符串的计算结果为False,而所有其他值的计算结果为True。如果是这种情况,那么程序如何执行while循环?当计数设置为0时,计数的计算结果不是为False吗 有人能解释一下吗 # Finicky Counter # Demonstrates the break and continue statements count = 0 while True: #

下面的程序来自python的一本书。在此代码中,count首先设置为0,然后
,同时使用True
。在书中,我读到零和空字符串的计算结果为False,而所有其他值的计算结果为True。如果是这种情况,那么程序如何执行while循环?当计数设置为0时,计数的计算结果不是为False吗

有人能解释一下吗

# Finicky Counter
# Demonstrates the break and continue statements

count = 0  
while True:         # while count is True
    count += 1

    # end loop if count greater than 10
    if count > 10:
       break
    # skip 5
    if count == 5:
        continue
    print(count)

input("\n\nPress the enter key to exit.")
如果你评估

if count: # and count is zero
       break
然后确定-循环将立即中断。 但您正在计算此表达式:

if count > 10: # 0 > 10
这是
False
,因此您不会在第一次迭代时中断。

如果您评估

if count: # and count is zero
       break
然后确定-循环将立即中断。 但您正在计算此表达式:

if count > 10: # 0 > 10

这是
False
,因此您不会在第一次迭代时中断。

如果您将
更改为True:
而计数:更改为
而计数:
,那么如果您将
更改为True:
而计数:,您的假设确实是正确的,您的假设在代码部分中确实是正确的,而如果为True,则条件的计算结果将始终为True。现在让我们进入while循环

当计算
count>10
时,对于count=0,它是false,因此当count<10时,它不会跳出while循环

如果它是
while count:
Yes,它将在第一次迭代中退出循环,因为
while count:
相当于-
while count!=0


对于条件
count==5
,它将继续进行下一次迭代,并且不会在循环内部打印。

在代码部分
中,如果为True,则条件的计算结果将始终为True。现在让我们进入while循环

当计算
count>10
时,对于count=0,它是false,因此当count<10时,它不会跳出while循环

如果它是
while count:
Yes,它将在第一次迭代中退出循环,因为
while count:
相当于-
while count!=0


对于条件
count==5
,它将继续进行下一次迭代,并且不会在循环内打印。

while循环是一个循环,将运行部分代码,直到条件为False。
while True称为无限循环,因为True不是一个条件,因此无法更改。因此,循环将一直运行,直到找到break指令

这里有两个与循环相关的特殊元素:

  • 继续:直接转到下一个迭代
  • 中断:退出循环

    • while循环是一个循环,它将运行部分代码,直到条件为False。
      while True称为无限循环,因为True不是一个条件,因此不能更改。因此,循环将一直运行,直到找到break指令

      这里有两个与循环相关的特殊元素:

      • 继续:直接转到下一个迭代
      • 中断:退出循环

      你在计数时没有说
      你说
      而为真:
      因为
      为真
      总是
      为真
      ,你的循环将永远运行,除非里面有东西告诉它不要这样做。这可能是一行写着
      break
      ,也可能是引发的异常。如果
      count
      大于
      10
      ,循环将中断
      count
      从零开始,但在第一次迭代时,
      count+=1
      发生,并且
      count
      现在是1。由于
      count
      不大于10,因此它不会中断。由于
      count
      不等于
      5
      ,因此它也不会继续。它只需打印
      1
      。在下一次迭代中,
      count
      再次递增,同样的事情发生在
      if
      语句中。直到最后,
      count
      等于
      4
      的迭代结束时,情况都是一样的。由于
      True
      仍然是
      True
      ,因此迭代再次发生<代码>计数
递增,现在等于5。
if count>10:
语句是
False
,但是
if count==5:
True
,因此循环跳过
print
调用,返回循环的开头。它首先得到的是
count+=1
,因此
count
现在等于6。接下来的几次迭代与
count
为5次之前发生的情况非常相似。一旦发生了
count
为9的迭代,它将到达循环的开始并递增
count
。现在
count
是10,循环中断。

当count:时你没有说
,而当True:
时你说
,因为
True
总是
True
,你的循环将永远运行,除非里面有东西告诉它不要这样做。这可能是一行写着
break
,也可能是引发的异常。如果
count
大于
10
,循环将中断
count
从零开始,但在第一次迭代时,
count+=1
发生,并且
count
现在是1。由于
count
不大于10,因此它不会中断。由于
count
不等于
5
,因此它也不会继续。它只需打印
1
。在下一次迭代中,
count
再次递增,同样的事情发生在
if
语句中。直到最后,
count
等于
4
的迭代结束时,情况都是一样的。由于
True
仍然是
True
,因此迭代再次发生<代码>计数
递增,现在等于5。
if count>10:
语句是
False
,但是
if count==5:
True
,因此循环跳过
print
调用并返回t