Python:我的嵌套循环有什么问题?

Mar*_*ria -2 python loops nested while-loop

使用while循环,我写了需要输入一个正整数,并打印出显示所有的整数乘法直至并包括输入号码的乘法表的过程.方程式的打印顺序很重要.

例如,print_multiplication_table(2)给出:
1*1
1*2
2*1
2*2

这是我的代码:

def print_multiplication_table(n):
    a = 1
    b = 1
    while a <= n:
        while b <= n:
            print str(a) + " * " + str(b)
            b = b + 1
        a = a + 1
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不起作用,因为它只打印出来

1 * 1
1 * 2
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么?谢谢!

Ale*_*lin 5

您需要在执行之前初始化内部循环的计数器

def print_multiplication_table(n):
    a = 1
    b = 1 # won't do harm, but doesn't really need now
    while a <= n:
        b = 1 # <-- note
        while b <= n:
            print str(a) + " * " + str(b)
            b = b + 1
        a = a + 1
Run Code Online (Sandbox Code Playgroud)

  • @Nya为什么在Python代码中使用C++注释?O_O (2认同)