如何通过可视化循环理解迭代?含日历网格实现场景疑问
用纸面绘图可视化迭代(日历网格示例)
先搭好基础框架
- 在纸的最顶部画一行7个并排的格子,依次写上周一、周二、周三、周四、周五、周六、周日(对应你设定的1-7编号)。
- 下面留5到6行的空白格子(30天最多占5行:7×4=28,剩下2天得占第5行)。
标记迭代的起点
- 比如用户输入3(周三),9月1号是周三。直接在顶部“周三”格子的正下方第一个空白格里写上1——这就是你迭代的第一个“当前值”。
一步步模拟循环过程
- 现在开始模拟迭代:每一步给当前数字加1,填到下一个格子里,用箭头把顺序标出来:
- 从1的右边格子填2,再右边填3,直到周日的格子填5;
- 然后换行到下一行的周一格子填6,继续往右填7、8……
- 遇到一周结束(周日的格子填满),就画个向下的箭头指向下一行的第一个格子,标注“一周结束,切换到下一行”。
- 就这么重复,直到把30填进去为止。
标出循环的终止点
- 把最后填的数字30圈起来,旁边写“停:30天全部填完”——这就是循环停止的条件。
把绘图和迭代逻辑对应起来
- 纸上的每一步都能对应代码里的循环逻辑:
current_day = 1→ 就是你写在周三下方的那个1while current_day <= 30:→ 对应从1写到30的整个重复过程- 找下一个格子的动作 → 对应代码里计算行列位置的逻辑
current_day += 1→ 就是你每次给数字加1写进下一格的操作
这么画下来,迭代的“重复执行一个动作,直到满足条件”的逻辑就一目了然了。
内容的提问来源于stack exchange,提问作者CM14
相关产品推荐
相关产品推荐

