繁体   English   中英

Python - 虚假循环

[英]Python - While false loop

fn='a'
x=1

while fn:
    print(x)
    x+=1
    if x==100:
        fn=''

输出:1 ... 99

fn=''
x=1

while fn:
    print(x)
    x+=1
    if x==100:
        fn='a'

输出:while循环不运行。


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

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

如果你想“而假”的功能,你需要not 尝试while not fn:相反。

条件是循环实际上是一个“预先”条件(而不是后置条件“do-while”循环,比方说,C)。 它测试每次迭代的条件,包括第一次迭代。

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

在python条件语句中:

''False相同, 0[]相同

考虑将您的循环条件转换为:

fn=''
x=1

while len(fn)>0:
    print(x)
    x+=1
    if x==100:
        fn='a'

while检查每次迭代开始时字符串是否为空。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM