85 lines
2.2 KiB
Markdown
85 lines
2.2 KiB
Markdown
# 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() # 换行
|
||
```
|