Python - 虚假循环

时间:2014-03-13 11:48:17

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

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'迭代吗?

4 个答案:

答案 0 :(得分:5)

如果您想要'while false'功能,则需要not。请改为while not fn:

答案 1 :(得分:3)

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

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

答案 2 :(得分:2)

在python条件语句中:

''False相同,0[]相同

答案 3 :(得分:0)

考虑将你的循环条件转化为:

fn=''
x=1

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

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