Files
2026-08-22 01:09:28 +08:00

85 lines
2.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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() # 换行
```