鱼C论坛

 找回密码
 立即注册
查看: 120|回复: 2

[已解决]while循环语句嵌套时的困惑

[复制链接]
发表于 2024-11-10 11:53:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我在学习while循环语句嵌套时写了以下程序:
day = 1
hour = 1
while day <= 7:
    while hour <= 8:
        print("今天,我一定要坚持学习8个小时!")
        hour += 1
day += 1

但在执行时"今天,我一定要坚持学习8个小时!"被打印了8次,为何不是56次?
我的理解是当外层循环语句day为1时,内层循环语句从1执行到8,也就是里面的打印语句("今天,我一定要坚持学习8个小时!"会被执行8次.当内部循环语句>8时就会跳出到外部循环语句, 外层循环语句day由2开始执行,里面的内层循环语句又会从1到8执行,以此类推.7day * 8 hour总共56次.请问大神我的理解哪里出错了吗?
最佳答案
2024-11-10 12:00:01
本帖最后由 jackz007 于 2024-11-10 14:01 编辑
day = 1
hour = 1                     # 这个部位只适合初始化外循环变量,不适合初始化内循环变量
while day <= 7:
                             # 这个部位适合初始化内循环变量
    while hour <= 8:
       这样改就对了:
day = 1
while day <= 7:
    hour = 1                 # 内循环的变量必须在内循环开始前进行初始化。只有这样,才能保证每一次的外循环都能进入内循环执行。
    while hour <= 8:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-11-10 11:53:33 | 显示全部楼层
你好!看起来你的代码片段没写完,不过不用担心,我可以帮你理解while循环的嵌套用法。

首先,让我们理解while循环的基本结构:
while 条件:
    # 执行的代码
只要条件为True,while循环中的代码就会被反复执行。

在使用嵌套while循环时,就是在一个while循环内再写一个while循环。例如:
day = 1

while day <= 2:  # 外层循环
    hour = 1
    while hour <= 3:  # 内层循环
        print(f"Day {day}, Hour {hour}")
        hour += 1
    day += 1
在这个例子中,外层循环控制天(`day`),内层循环控制小时(`hour`)。内层循环会在每次外层循环的每一次迭代中完成其所有的迭代次数。输出结果为:
Day 1, Hour 1
Day 1, Hour 2
Day 1, Hour 3
Day 2, Hour 1
Day 2, Hour 2
Day 2, Hour 3
这就表示每一天有三个小时的循环。

希望这能够帮你理解while循环嵌套的概念!如果你有进一步的问题或具体的代码想要讨论,请继续补充。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-11-10 12:00:01 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2024-11-10 14:01 编辑
day = 1
hour = 1                     # 这个部位只适合初始化外循环变量,不适合初始化内循环变量
while day <= 7:
                             # 这个部位适合初始化内循环变量
    while hour <= 8:
       这样改就对了:
day = 1
while day <= 7:
    hour = 1                 # 内循环的变量必须在内循环开始前进行初始化。只有这样,才能保证每一次的外循环都能进入内循环执行。
    while hour <= 8:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 01:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表