在输入循环后,为while循环比较中使用的变量赋值

Tro*_*oas 0 python

我想知道是否有任何事情反对为输入while循环后在while循环中的比较中使用的变量赋值.一个虚拟的例子:

i = 0
target = 10
while i < target:
    print i
    if i == 9:
        target = 20
    i = i + 1
Run Code Online (Sandbox Code Playgroud)

Bha*_*ana 6

不,没有什么可以阻止你这样做.你的例子本身就是一个证据.

虽然,更好的做法是使用while True:循环和break条件.由于您的循环条件本身很容易发生变化,因此它根本不是一个不变的条件.因此,我建议你这样做:

i = 0
target = 10
while True:
    print i
    i = i + 1

    # If i hits 9 at any point, change target
    if i == 9:
        target = 20

    # If i ever hits the target, break
    if i >= target:
        break
Run Code Online (Sandbox Code Playgroud)