6个月Python学习计划 Day 3
🎯 今日目标
- 掌握 while 和 for 循环的使用方式
- 理解 range() 的工作机制
- 实践:打印 1~100、累加、九九乘法表等常见程序逻辑
🧠 学习内容详解
-
while 循环
i = 1 while i <= 5:print(f"第 {i} 次循环")i += 1
📌 特点:先判断再执行,适合“直到满足某个条件前一直做”的任务
-
for 循环 + range()’
# range(起始, 结束, 步长),不包含结束值 for i in range(1, 6):print(f"第 {i} 次循环")
📌 range() 用法:
range(5) # 0,1,2,3,4 range(1, 5) # 1,2,3,4 range(1, 10, 2) # 1,3,5,7,9
-
常见循环任务实例
✅ 打印 1~100 所有数字for i in range(1, 101):print(i, end=" ")
✅ 计算 1~100 的累加和
total = 0 for i in range(1, 101):total += i print("1~100 的总和是:", total)
-
九九乘法表(嵌套循环)
for i in range(1, 10):for j in range(1, i + 1):print(f"{j}×{i}={i*j}", end="\t")print() # 换行
📌 内层循环控制列,外层控制行;\t 表示制表符对齐,print() 换行
🧪 今日练习任务
-
使用 while 循环打印 1 到 10 的平方
i = 1 while i <= 10:print(f"{i}的平方是:{i * i}")i += 1
输出结果为:
1的平方是:1 2的平方是:4 3的平方是:9 4的平方是:16 5的平方是:25 6的平方是:36 7的平方是:49 8的平方是:64 9的平方是:81 10的平方是:100
-
计算 1~100 中所有偶数的和(for + if)
total = 0 for i in range(1, 101):if(i%2 == 0):total += i print("1~100 中所有偶数的总和是:", total)
输出结果是:
1~100 中所有偶数的总和是: 2550
今日总结
-
while 和 for 各适合什么场景?
对比项 while 循环 for 循环 使用场景 条件未知,直到某个条件成立才停止 已知循环次数或需要遍历一个可迭代对象时使用 循环条件控制 手动控制变量、判断条件和更新 自动迭代,无需手动更新 可读性 条件驱动,适合处理“无限循环”类逻辑 简洁明了,适合遍历范围、列表、字符串等结构 🔸 示例:
# while:直到用户输入“exit”才退出 command = "" while command != "exit":command = input("请输入指令(exit退出):")print("你输入了:", command)# for:打印1~10 for i in range(1, 11):print(i)
-
range() 的三种参数用法?
range() 用于生成整数序列,是 for 循环中最常用的函数之一:range([start], stop[, step])
用法 说明 示例 结果 range(stop) 从 0 开始到 stop-1 range(5) 0 1 2 3 4 range(start, stop) 从 start 到 stop-1 range(2, 6) 2 3 4 5 range(start, stop, step) 指定步长 range(1, 10, 2) 1 3 5 7 9 🔸 示例:
for i in range(5):print(i, end=" ") # 输出:0 1 2 3 4
-
循环体内 print() 如何控制换行/不换行?
默认情况下,print() 输出后会自动换行。
要取消自动换行,可以设置 end=“” 或指定分隔符。
🔸 示例:# 默认换行 print("A") print("B") # 输出: # A # B# 不换行输出 print("A", end=" ") print("B", end=" ") # 输出:A B
常见用法:输出九九乘法表时让一行内容横向排列:
for i in range(1, 4):for j in range(1, 4):print(f"{j}×{i}={j*i}", end="\t")print() # 换行
-
如何使用嵌套循环解决二维结构的问题?
嵌套循环常用于:
- 表格输出(如九九乘法表)
- 遍历二维数组或矩阵
- 多维坐标(如笛卡尔积)
🔸 九九乘法表示例(行×列):
for i in range(1, 10): # 外层控制行for j in range(1, i + 1): # 内层控制列print(f"{j}×{i}={i*j}", end="\t")print() # 每一行结束后换行
📌 理解方式:
- 外层循环每次开始都代表新的一行
- 内层循环表示一行中的多个元素(列)