while循环嵌套语句的问题
小甲鱼老师在了不起的分支和循环(IV)课程中讲的学习7天,每天学习8小时的例子我做了以下修改:day = 1
hour = 1
while day<= 7:
while hour <= 8:
print(f'在day{day}中,我学习了{hour}小时')
hour +=1
day += 1
我想实现的效果是打印出1-7天中的每天,我学习了1-8小时,效果如下:
在day1中,我学习了1小时
在day1中,我学习了2小时
在day1中,我学习了3小时
在day1中,我学习了4小时
在day1中,我学习了5小时
在day1中,我学习了6小时
在day1中,我学习了7小时
在day1中,我学习了8小时
在day2中,我学习了1小时
在day2中,我学习了2小时
在day2中,我学习了3小时
在day2中,我学习了4小时
在day2中,我学习了5小时
在day2中,我学习了6小时
在day2中,我学习了7小时
在day2中,我学习了8小时
……
在day7中,我学习了1小时
在day7中,我学习了2小时
在day7中,我学习了3小时
在day7中,我学习了4小时
在day7中,我学习了5小时
在day7中,我学习了6小时
在day7中,我学习了7小时
在day7中,我学习了8小时
但在执行语句后,只执行了day1中的内层hour循环语句,结果如下:
在day1中,我学习了1小时
在day1中,我学习了2小时
在day1中,我学习了3小时
在day1中,我学习了4小时
在day1中,我学习了5小时
在day1中,我学习了6小时
在day1中,我学习了7小时
在day1中,我学习了8小时
外层day的循环语句并未被执行,请大神指定一下这是为什么?应该如何修改?谢谢指点
你提到的示例似乎想通过 `while` 循环来实现一个嵌套循环,用于模拟每天学习8小时、连续学习7天的情况。下面是一个完整的代码示例,说明如何使用 `while` 循环实现该场景:
day = 1
while day <= 7:
hour = 1
while hour <= 8:
print(f"这是第{day}天,第{hour}小时的学习。")
hour += 1
day += 1
print("7天的学习计划完成!")
具体解释:
- 外层的 `while day <= 7` 表示重复操作7次,每次表示一天。
- 内层的 `while hour <= 8` 表示每天学习8小时。
- 每次内层循环结束(即8小时学习完成),`day` 会递增1,以进行下一天的学习。这样可以实现7天的学习计划。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 本帖最后由 jackz007 于 2024-11-16 12:07 编辑
day = 1
hour = 1 # 内循环变量不可以在外循环外初始化,应该在外循环内,内循环开始前进行初始化
while day<= 7:
while hour <= 8:
在 day = 1 时,内循环结束时,hour = 9,从 day = 2 起,由于 hour 的值一直是 9,因而无法进入内循环,使内循环失效,得这样改:
day = 1
while day<= 7:
hour = 1 # 内循环变量应该在这里初始化
while hour <= 8: jackz007 发表于 2024-11-16 12:00
在 day = 1 时,内循环结束时,hour = 9,从 day = 2 起,由于 hour 的值一直是 9,因而无法进入 ...
谢谢兄弟指点!!!
页:
[1]