Python 流程控制
流程控制是编程中决定代码执行顺序的核心,它能让程序根据不同条件执行不同逻辑,或重复执行某段代码,主要分为分支结构(条件判断)和循环结构,还有辅助的流程控制语句
一、分支结构(条件判断)
分支结构就像生活中 “如果… 就… 否则…” 的逻辑,根据条件的真假执行不同代码块。
1.基础 if 语句
语法:
if 条件表达式:
# 条件为True时执行的代码(注意缩进,通常4个空格)
示例:
score = 85
if score >= 60:
print("考试成绩及格") # 满足条件输出
2.if-else 语句
语法:
if 条件表达式:
# 条件为True时执行
else:
# 条件为False时执行
示例:
score = 55
if score >= 60:
print("考试及格")
else:
print("考试不及格") # 条件不满足,执行else块
3.if-elif-else 语句
处理多个条件判断的场景,elif是else if的简写。
语法:
if 条件1:
# 条件1为True时执行
elif 条件2:
# 条件1为False、条件2为True时执行
else:
# 所有条件都为False时执行
示例:
score = 92
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("不及格") # 此例中score=92,会输出"优秀"
二、循环结构
循环用于重复执行一段代码,Python 主要有while和for两种循环。
1. while 循环
只要条件为True,就持续执行代码块,适合未知循环次数的场景。
语法:
while 条件表达式:
# 条件为True时重复执行的代码
# 注意:必须有让条件最终变为False的逻辑,否则会无限循环(死循环)
示例1:基础计数
count = 1
while count <= 5:
print(f"当前计数:{count}")
count += 1 # 每次循环count加1,最终count>5时循环终止
# 输出:
# 当前计数:1
# 当前计数:2
# 当前计数:3
# 当前计数:4
# 当前计数:5
示例 2:避免死循环
如果忘记写count += 1,count永远是 1,条件永远为 True,程序会无限输出,需按Ctrl+C终止。
2. for 循环
遍历(依次取出)可迭代对象(列表、字符串、range、字典等)中的元素,适合已知循环次数的场景。
语法:
for 变量 in 可迭代对象:
# 对每个元素执行的代码
示例 1:遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(f"我喜欢吃{fruit}")
# 输出:
# 我喜欢吃苹果
# 我喜欢吃香蕉
# 我喜欢吃橙子
示例 2:遍历数字(用 range)
range(start, end, step)生成整数序列,start默认 0,step默认 1,不包含end。
# 遍历0到4(不包含5)
for i in range(5):
print(i) # 输出:0 1 2 3 4
# 遍历2到8,步长2
for i in range(2, 9, 2):
print(i) # 输出:2 4 6 8
三、循环控制语句
用于修改循环的默认执行流程,包括break、continue、pass。
1. break:终止整个循环
立即跳出当前循环,不再执行后续循环次数。
for i in range(5):
if i == 3:
break # 当i=3时,终止整个循环
print(i)
# 输出:0 1 2
2. continue:跳过当前轮次
跳过当前循环的剩余代码,直接进入下一轮循环。
for i in range(5):
if i == 3:
continue # 跳过i=3的打印,直接进入下一轮
print(i)
# 输出:0 1 2 4
3. pass:占位符
什么都不做,仅用于保证语法完整(比如暂时没想好代码逻辑时)。
for i in range(5):
if i == 3:
pass # 不执行任何操作,程序继续
print(i)
# 输出:0 1 2 3 4
四、乘法口诀表
# 嵌套for循环实现乘法口诀表(对齐版)
# 外层循环:控制行数(1-9),i是第二个乘数
for i in range(1, 10):
# 内层循环:控制列数(1到当前行数i),j是第一个乘数
for j in range(1, i + 1):
# 格式化输出:用\t(制表符)对齐,end="\t"避免换行
print(f"{j}×{i}={j*i}", end="\t")
# 每一行结束后换行,开始下一行
print()
代码关键部分解释
-
外层循环:
for i in range(1, 10)i从 1 到 9,代表乘法口诀表的行数,也是每个式子中的第二个乘数(比如 “3×5=15” 中的 5)。 -
内层循环:
for j in range(1, i + 1)j从 1 到i,保证第i行只有i个式子(比如i=3时,j=1、2、3,对应 “1×3、2×3、3×3”),避免出现重复的 “2×1”“3×2” 等式子。 -
格式化输出:
print(f"{j}×{i}={j*i}", end="\t")f-string格式化让式子显示更直观(如1×1=1);end="\t"取消 print 默认的换行,改用制表符分隔同一行的式子,保证排版对齐;- 内层循环结束后的
print()专门用于换行,让下一行式子从新行开始。
紧凑版(极简写法)
# 紧凑版乘法口诀表
[print(' '.join([f"{j}×{i}={j*i}" for j in range(1, i+1)])) for i in range(1, 10)]
输出:
1x1=1
2x1=2 2x2=4
3x1=3 3x2=6 3x3=9
4x1=4 4x2=8 4x3=12 4x4=16
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
更多推荐


所有评论(0)