开发者社区> 问答> 正文

如何理解python中while的循环嵌套?

如何理解python中while的循环嵌套?

展开
收起
游客ahv54x37wvm7u 2021-11-01 21:00:18 423 0
1 条回答
写回答
取消 提交回答
  • 首先我给大家分享一个代码:

    row = 1 while row <= 5:

    col = 1
    while col <= row:
    	print("*" end="")
    	col += 1
    
    print("")
    row += 1
    

    1 2 3 4 5 6 7 8 9 10 上面的这个代码运行完之后,打印出来的是这样的:

    * **




    1 2 3 4 5 我当时学while嵌套循环时,不理解上面的这个代码全部运行完之后的结果:为什么能够在打印第n行时能够在第n行打印n个*。

    后来我发现原来是我遗漏了一个非常重要的条件,从而导致我不理解以上代码的结果,那就是:我定义的col计数变量是在第一个while里面,而不是在第一个while外面。

    首先,当里面的while每运行完一次之后,col的值都理所当然的加上一个1(在这里我令加上1之后的col的值为col1),导致里面的while想要再次运行第二遍的时候却因为col1的值大于row的值,而使运行中的代码直接跳过里面的while循环,而直接运行后序的代码,比如运行 print("") 和 row += 1 (在这里我令加上1之后的row的值为row1)。

    然后,row被重新附值完之后,代码又从外面的while开始从头运行。当row1被判断为小于等于5之后,运行下一行代码col = 1,这个时候原本被附过值的col(col = col1)又再一次被重新附值为1,然后才再次运行里面的while,而不是col = col1时运行里面的while。

    2021-11-01 21:02:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载