Python - 虚假循环

Pho*_*nix 3 python loops boolean while-loop python-3.x

fn='a'
x=1

while fn:
    print(x)
    x+=1
    if x==100:
        fn=''
Run Code Online (Sandbox Code Playgroud)

输出:1 ... 99

fn=''
x=1

while fn:
    print(x)
    x+=1
    if x==100:
        fn='a'
Run Code Online (Sandbox Code Playgroud)

输出:while循环不运行.


while循环没有运行的原因是什么?

结束while循环的条件是'False',因此它不能执行'while false'迭代吗?

Sil*_*Ray 7

如果您想要'while false'功能,则需要not.试试吧while not fn:.


ara*_*aer 5

条件是循环实际上是一个“前置”条件(与 C 语言中的后置条件“do-while”循环相反)。它测试每次迭代(包括第一次迭代)的条件。

第一次迭代时,条件为假,因此循环立即结束。