Python - While 错误循环

Posted

技术标签:

【中文标题】Python - While 错误循环【英文标题】:Python - While false loop 【发布时间】:2014-04-18 03:08:35 【问题描述】:
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'迭代?

【问题讨论】:

【参考方案1】:

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

fn=''
x=1

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

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

【讨论】:

【参考方案2】:

如果你想要'while false' 功能,你需要not。请改用while not fn:

【讨论】:

【参考方案3】:

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

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

【讨论】:

【参考方案4】:

在python条件语句中:

'' 等同于False 等同于0 等同于[]

【讨论】:

以上是关于Python - While 错误循环的主要内容,如果未能解决你的问题,请参考以下文章

小白的Python之路 day1 表达式if ... else ,while循环,for循环

Python中,While循环语句的用法及注意事项

python学习笔记(if else流程判断while循环for循环)

在Python的while循环条件中分配变量?

我将如何在 python 的 while 循环中打破一个函数? [复制]

python--if分支和while循环