流程控制是编程中决定代码执行顺序的核心,它能让程序根据不同条件执行不同逻辑,或重复执行某段代码,主要分为分支结构(条件判断)和循环结构,还有辅助的流程控制语句

一、分支结构(条件判断)

分支结构就像生活中 “如果… 就… 否则…” 的逻辑,根据条件的真假执行不同代码块。

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 语句

处理多个条件判断的场景,elifelse 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 主要有whilefor两种循环。

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 += 1count永远是 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

三、循环控制语句

用于修改循环的默认执行流程,包括breakcontinuepass

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()

代码关键部分解释

  1. 外层循环for i in range(1, 10)

    i 从 1 到 9,代表乘法口诀表的行数,也是每个式子中的第二个乘数(比如 “3×5=15” 中的 5)。

  2. 内层循环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” 等式子。

  3. 格式化输出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
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐