欢迎来到程序设计的基础积木!
你好!今天,我们要探索程序员工具箱中最三个重要的工具:结构 (Constructs)。你可以把它们想象成代码的「乐高积木」。无论一个应用程序或游戏看起来多么复杂,它们实际上都是由这三个基本模式组成的。
在本章中,我们将学习如何阅读流程图 (flowcharts) 中的这些模式,以及如何在 Python 中使用它们。如果起初觉得像谜题一样,别担心——一旦你看懂了这些模式,你就能像看书一样轻松「阅读」任何程序!
1. 三大基本结构
你编写的每一个算法都会用到这三种结构中的一种或多种:
1. 顺序 (Sequence):按照特定的顺序,一项接一项地执行。
2. 选择 (Selection):做出选择(就像「十字路口」的抉择)。
3. 迭代 (Iteration):重复执行步骤(即「循环」)。
现实生活中的比喻:
想象你正在冲一杯美禄 (Milo):
- 顺序:先放入粉末,再加入热水,然后搅拌。
- 选择:如果 (IF) 你想喝甜一点,那么 (THEN) 加入炼乳;否则 (ELSE),就保持原味。
- 迭代:当 (WHILE) 还有粉末结块时,不断搅拌美禄。
2. 顺序:步骤式的路径
顺序是最简单的结构。它意味着电脑会完全按照你编写的指令顺序,从上到下执行。
在流程图中:
你会看到方框由指向下方的箭头连接。每个方框的动作只有在它上面的动作完成后才会发生。
在 Python 中:
每一行代码都会被逐一执行。
范例:
print("Hello!")
print("How are you?")
print("Goodbye!")
快速回顾:在顺序结构中,顺序就是一切!如果你在穿鞋子「之后」才穿袜子,那肯定行不通。代码也是一样的道理。
3. 选择:决策制定者
当程序需要根据一个条件 (condition)(一个结果为「真」或「假」的问题)来做决定时,就会用到选择。
在流程图中:
选择通常由一个菱形表示。它通常有两个箭头指向外侧:一个标记为「是」(True),另一个标记为「否」(False)。
在 Python 中:
我们使用关键字 if、elif(即 "else if" 的缩写)和 else。
类型 1:简单 If
用于当你只想在条件为真时执行某些操作。
if score > 50:
print("You passed!")
类型 2:If-Else
用于当你有两个明确的选择时。
if temperature > 30:
print("It is hot!")
else:
print("It is cool!")
类型 3:多重选择 (If-Elif-Else)
用于当你有许多不同选项时。
if grade == "A":
print("Excellent!")
elif grade == "B":
print("Good job!")
else:
print("Keep trying!")
要避免的常见错误:别忘了在 Python 的 if 和 else 行末尾加上冒号 (:)!另外,请记住选择结构内部的代码必须缩进 (indented)(向右推)。
重点总结:选择能让你的程序变得「聪明」,并针对不同的输入做出不同的反应。
4. 迭代:重复的力量
迭代(或称「循环」)是指电脑重复执行某段代码。这是电脑最擅长的事——它们永远不会因为重复做同一件事而感到疲倦!
在流程图中:
你会看到一个箭头循环回到流程图较早的位置。这会形成一个圆圈或「循环」。
在 Python 中:
你需要知道两种主要的循环类型:
1. "While" 循环(条件控制)
只要条件为「真」,它就会重复执行。当我们不知道具体需要重复多少次时,就会用到它。
范例:当输入密码错误时,一直要求重新输入。
2. "For" 循环(计数控制)
它会重复执行「特定的次数」。当我们明确知道要跑多少圈时,就会用到它。
范例:印出 "Hello" 10 次。
for i in range(10):
print("Hello")
记忆小帮手:将 While 循环想成「当我饿的时候,我就吃东西」。将 For 循环想成「我会刷牙 3 分钟」。
你知道吗?当条件永远不会变成「假」时,就会发生无穷循环 (Infinite Loop)。电脑会一直执行该段代码直到你强制停止它为止!
5. 流程图总结表
当你在 O-Level 考试中解读流程图时,请记住这份快速指南:
椭圆形 (开始/结束):程序启动与结束的地方。
矩形 (处理):简单的动作或计算(顺序)。
平行四边形 (输入/输出):从使用者获取数据或列印到屏幕上。
菱形 (决策):引导至选择的问题(选择或循环的开始)。
指向后方的箭头:循环的标记(迭代)。
快速复习小测验!
你能辨别以下场景使用了哪种结构吗?
1. 计算器将两个数字相加并显示结果。(答案:顺序)
2. 游戏检查生命值是否为 \( 0 \),以判断游戏是否结束。(答案:选择)
3. 应用程序向通讯录中的每一个人发送「生日快乐」电子邮件。(答案:迭代)
最后的鼓励:你刚刚掌握了所有程序设计的基础!如果你能熟练运用这三种结构——顺序、选择和迭代——你几乎可以构建任何东西。继续练习绘制流程图并撰写小的 Python 代码片段,这很快就会成为你的第二天性!