为什么循环内的“num = 1”没有增加?

我正在调试代码,我不明白为什么for循环内的num变量没有递增,只有(1)在递增?


def numpat(n):


    num = 1                            ----- (1)



    for i in range(n):


        num = 1                        ------ (2)


        for j in range(i + 1):

            print(num, end=" ")

            num = num + 1               ----- (3)


        print("\r")


扬帆大鱼
浏览 111回答 2
2回答

叮当猫咪

下面的输出不是你期望的吗?In [1]: n = 5                                                                                 In [2]: for i in range(n):    ...:     ...:     num = 1    ...:     ...:     for j in range(i + 1):    ...:         print(num, end=" ")    ...:         num = num + 1    ...:     ...:     print("\r")    ...:                                                                                       1 1 2 1 2 3 1 2 3 4 1 2 3 4 5编辑:如果 n=1 不在内部循环中,则反事实输出。In [1]: n = 5                                                                   In [2]: num = 1                                                                 In [3]: for i in range(n):    ...:     for j in range(i + 1):    ...:         print(num, end=" ")    ...:         num = num + 1    ...:     print("\r")    ...:                                                                         1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

慕田峪7331174

因为您每次在第一个循环之后将值设置为 1,即 .您可以忽略该步骤,它将正常工作。numfor i in range(n):
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python