用自定义print语句替换迭代输出

时间:2014-08-19 05:59:37

标签: python loops while-loop iteration

def the(x):
    i = 0
    while i < 6:
        i += x
        print "i equals %s" % i
        if i == 5:
            print "This replaces the 5th iteration"

我有一个循环,将i递增1,停止在i&lt; 6并为每次迭代打印一个字符串。

我想删除第5次迭代(&#34;我等于5&#34;)并用字符串替换它:&#34;这取代了第5次迭代&#34;。

我有什么选择?

1 个答案:

答案 0 :(得分:3)

使用else语句在打印前检查条件。你甚至在检查它是否是第五个之前打印了第五个。 (我添加了括号用于打印,因为我使用的是Python 3,应该仍然可以在Python 2中使用)

def the(x):
    i = 0
    while i < 6:
        i += x
        if i == 5:
            print("This replaces the 5th iteration")
        else:
            print("i equals %s" % i)

>>> the(1)
i equals 1
i equals 2
i equals 3
i equals 4
This replaces the 5th iteration
i equals 6