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

时间:2016-06-24 14:49:11

标签: python

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

i = 0
target = 10
while i < target:
    print i
    if i == 9:
        target = 20
    i = i + 1

1 个答案:

答案 0 :(得分: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