蟒蛇。嵌套While循环

时间:2017-01-31 19:35:23

标签: python-3.x while-loop

我是一个完全的初学者,试图用Python写一个嵌套的while循环,我想要倒计时打印三次。

目前我有:

def amigo (counter, n):
    while counter > 0:
        while n > 0:
            print (n)
            n= n - 1
        print('Hola!')
        counter = counter - 1 

我将counter和n设置为等于2。

我想要它做的是打印:

3
2
1
Hola!
3
2
1
Hola!

但是现在正在打印:

3
2
1
Hola!
Hola!

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

始终重置计数器。

在每个循环之前将计数器值设置为初始位置

对于你的内部循环,它将是i = n

使用带有操作的分配

运营商x += y相当于x = x + y

然后您的代码将是n -= 1而不是n = n - 1

改进代码

def amigo (counter, n):
    while counter > 0:
        i = n # Reset counter befor cycle. Used i to prevent editing n's value
        while i > 0:
            print (i)
            i -= 1 # Decrease i by 1, will loop from N to 1
        print('Hola!')
        counter -= 1 # Descrease counter by 1