diff --git a/Day_7/README.md b/Day_7/README.md new file mode 100644 index 0000000..dd577a1 --- /dev/null +++ b/Day_7/README.md @@ -0,0 +1,84 @@ +# Day_7 · 循环:重复做的事交给程序 + +> 预计耗时:20~30 分钟 +> 后端最常干的事就是"把一堆数据逐个处理"——这正是循环。列表遍历(Day_4)你已经用过了,今天学正式的 `for` 和 `while`。 + +## 今日知识点 + +- `for i in range(n):` 循环 n 次(`range(1, 11)` 是 1~10) +- `while 条件:` 条件为真就一直循环 +- `break` 跳出循环;`continue` 跳过本次进入下一次 +- 累加套路:`total = total + i`(可简写 `total += i`) + +## 先学(教程) + +- 菜鸟教程("循环语句"一节,重点看 range 和 break/continue):https://www.runoob.com/python3/python3-loop.html +- B站黑马教程(看讲"循环"的几集):https://www.bilibili.com/video/BV1qW4y1a7fU/ + +## 任务(后做) + +新建 `day7.py`: + +1. 用 `for` 求 1 加到 100 的和,打印结果(应该是 **5050**): + ```python + total = 0 + for i in range(1, 101): + total += i + print(total) + ``` +2. 打印 1~10 的平方: + ```python + for i in range(1, 11): + print(f"{i}的平方是{i ** 2}") + ``` +3. 用 `while` 从 10 倒数到 1: + ```python + n = 10 + while n >= 1: + print(n) + n -= 1 # 别忘了让 n 变小,否则死循环 + ``` +4. **进阶(加分)**:打印九九乘法表(用双重 for 循环): + ``` + 1x1=1 + 1x2=2 2x2=4 + 1x3=3 2x3=6 3x3=9 + ... + ``` + 提示:外层 `for i in range(1, 10):`,内层 `for j in range(1, i + 1):`, + 每行结束用 `print()` 换行。 + +## 完成标准 + +- [ ] 任务 1 输出 `5050` +- [ ] 任务 2、3 输出正确且程序能正常结束(没有卡死) +- [ ] 能说出 `break` 和 `continue` 的区别 +- [ ] (进阶)乘法表正确 + +**提交方式**:把 `day7.py` 代码贴在当日工单评论里。 + +## 参考解答(先做再看) + +```python +# 1. 求和 +total = 0 +for i in range(1, 101): + total += i +print(total) # 5050 + +# 2. 平方 +for i in range(1, 11): + print(f"{i}的平方是{i ** 2}") + +# 3. 倒数 +n = 10 +while n >= 1: + print(n) + n -= 1 + +# 4. 进阶:九九乘法表 +for i in range(1, 10): + for j in range(1, i + 1): + print(f"{j}x{i}={j * i}", end=" ") + print() # 换行 +```