【问题标题】:Python - While false loopPython - While 错误循环
【发布时间】: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'迭代?

【问题讨论】:

    标签: python loops python-3.x while-loop boolean


    【解决方案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 等同于[]

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多