控制流 (control flow) 是指在程式执行过程中,决定程式下一步执行哪一段程式码的机制。它让程式不再只是从上到下依序执行,而是可以根据不同的条件做出不同的选择,或重复执行某段程式码。
Python 中主要的控制流结构
if...else 语句:
用于根据条件执行不同的程式码块。if 后面接条件判断式,如果条件为真,则执行 if 区块内的程式码;否则,如果存在 else 区块,则执行 else 区块内的程式码。可以搭配 elif (else if) 来增加更多的判断条件。
x = 10
if x > 5:
print("x 大于 5")
else:
print("x 小于等于 5")
for 迴圈:
用于重复执行一段程式码,直到符合结束条件。常用于遍历序列(如列表、字串)中的每个元素。range() 函数可以生成一个数字序列。
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
while 迴圈:
也是用于重复执行一段程式码,但它会一直执行,直到指定的条件变为假。
count = 0
while count < 5:
print(count)
count += 1
break 和 continue:
break: 用于立即跳出迴圈。continue: 用于跳过本次迴圈的剩余部分,直接进入下一次迴圈。
for i in range(10):
if i == 5:
break
print(i)
控制流的应用场景
条件判断: 根据不同的输入或状态,执行不同的操作。迴圈操作: 重复执行某段程式码,直到满足特定条件。函数控制: 在函数内部使用控制流来实现复杂的逻辑。
范例:猜数字游戏
import random
secret_number = random.randint(1, 20)
print("猜数字游戏!")
while True:
guess = int(input("请猜一个数字(1-20): "))
if guess < secret_number:
print("猜小了!")
elif guess > secret_number:
print("猜大了!")
else:
print("恭喜你,猜对了!")
break
小结
控制流是程式设计中非常重要的概念,它让程式能够根据不同的情况做出不同的反应。熟练掌握控制流,可以写出更灵活、更强大的 Python 程式。
常见问题:
- 什么是条件判断式?条件判断式是一个表达式,它的值可以是 True 或 False。
- for 迴圈和 while 迴圈有什么区别?for 迴圈通常用于知道循环次数的情况,while 迴圈则用于不知道循环次数,而是根据条件判断是否继续循环。
- break 和 continue 的作用是什么?break 用于提前终止迴圈,continue 用于跳过本次迴圈的剩余部分。