Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用自定义打印语句替换迭代输出_Python_Loops_While Loop_Iteration - Fatal编程技术网

Python 用自定义打印语句替换迭代输出

Python 用自定义打印语句替换迭代输出,python,loops,while-loop,iteration,Python,Loops,While Loop,Iteration,我有一个循环,它将I增加1,在I

我有一个循环,它将I增加1,在I<6时停止,并为每次迭代打印一个字符串

我想删除第5次迭代I=5,并用字符串替换它:这将替换第5次迭代


我的选项是什么?

在使用else语句打印之前检查条件。在检查是否是第五个之前,你已经打印了第五个。我为print添加了括号,因为我使用的是Python3,它应该仍然适用于Python2

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

仔细阅读if语句的完整语法,特别是else部分。天哪,我能停止被否决吗?这怎么可能是重复的,没有提到decorator这个词?我甚至不知道装饰师是什么,很明显这不是复制品;无论是谁投了赞成票,这显然是一个错误。不过这并不重要,因为它需要更多的选票才能关闭,而且不太可能获得这些选票。至于为什么它被否决,我猜可能是因为这个问题太基本了,我个人认为这个问题对这个网站来说是非常好的。对初学者来说有点敌意。该网站应该有一个初学者标签,为那些回答+特殊教师徽章的人提供代表。是的,该网站有时可能对初学者有点苛刻。我不能说我喜欢这样。谢谢你,Jose,但是它怎么知道按这个顺序插入和替换第5条语句呢?@ZaneTribal它正在经历一个循环,每次都向I添加x。很自然,下一次迭代将是当前的i+x。然后下一个将再次添加x。我建议阅读python的迭代和控制结构,了解细节。你是什么意思?因为迭代次数为1,每次迭代都将i加1,所以我们可以得出结论,第5次迭代i的值为5。因此,我们插入if i==5语句来检查i以及迭代何时在5上。当它不在5上时,它跳过if语句,因为条件不是true,并执行else代码块print i=whatever。@ZaneTribal没问题。请务必单击该复选标记以接受答案!我们两个都会得到代表;
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