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:
- 用
for求 1 加到 100 的和,打印结果(应该是 5050):total = 0 for i in range(1, 101): total += i print(total) - 打印 1~10 的平方:
for i in range(1, 11): print(f"{i}的平方是{i ** 2}") - 用
while从 10 倒数到 1:n = 10 while n >= 1: print(n) n -= 1 # 别忘了让 n 变小,否则死循环 - 进阶(加分):打印九九乘法表(用双重 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 代码贴在当日工单评论里。
参考解答(先做再看)
# 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() # 换行