第三章:流程控制——教计算机学会“看脸色”
1. 流程控制:给计算机装上“脑子”
各位少侠,前两章我们教计算机学会了认字(变量)和算术(数据类型)。但说实话,如果程序只能从上往下傻乎乎地一行行执行,那它跟个只会背九九乘法表的算盘有什么区别?
真正的智能,在于“选择”和“重复”。流程控制,就是教计算机学会“看脸色”。你得告诉它:“如果老板来了,你就假装敲键盘;如果老板走了,你就继续摸鱼。”这就是条件判断(分支结构)。你还得告诉它:“只要老板没出现,你就一直摸鱼。”这就是循环结构。
掌握了这两招,你的程序才算真正活了过来。
2. if 条件判断:计算机的“十字路口”
在Python里,条件判断的核心是 if 语句。它的逻辑极其简单粗暴:
python
age = 18
if age >= 18:
print("成年了,可以去网吧了!")
else:
print("未成年,回家写作业去!")
新手保命警告:
- 条件后面必须加冒号
:!这就像是你给计算机下达命令前,必须清清嗓子说“听好了:”。 - Python没有大括号
{},它是靠缩进来认爹的。冒号下面的代码,必须老老实实空4个空格(或者按一次Tab键)。缩进不对,程序直接报错罢工。
如果情况比较复杂怎么办?比如考试成绩分等级。这时候你需要 elif(else if 的缩写):
python
score = 85
if score >= 90:
print("优秀")
elif score >= 80:
print("良好")
elif score >= 60:
print("及格")
else:
print("准备交钱重修吧")
记住,if-elif-else 就像过安检,从上往下查,一旦匹配成功,后面的连看都不看直接放行。
3. 逻辑运算符:不要“又当又立”
有时候你需要同时满足多个条件。Python提供了三个非常接地气的逻辑词:
and(与):两个条件必须都成立。age >= 18 and money > 100or(或):满足一个就行。is_vip or has_ticketnot(非):反转条件。not is_student
Python还有一个极其优雅的“连写”语法:18 <= age < 60。这在其他语言里可能要写成 age >= 18 and age < 60,Python直接帮你省了代码,简直是强迫症福音。
4. 循环结构:让计算机做“无情的复读机”
如果你需要打印100遍“我爱学习”,难道你要复制粘贴100行 print 吗?不,你需要循环。Python有两大循环法宝:
for 循环:遍历的“点名器”
for 循环专门用来挨个处理一堆数据。配合 range() 函数,它是数字界的点名器:
python
for i in range(5): # 从0开始,数到4(不包括5)
print(f"这是第 {i+1} 次循环")
while 循环:不达目的不罢休的“死磕怪”
while 循环只要条件成立,就会一直执行下去:
python
count = 0
while count < 3:
print("老板还没走,继续摸鱼")
count += 1 # 千万别忘了让计数器增加,不然就是无限死循环!
5. 循环的“刹车”与“油门”:break 与 continue
在循环里,你随时可以干预它的节奏:
break(急刹车):直接掀桌子,彻底结束整个循环。continue(踩油门跳过):跳过当前这一轮的剩余代码,直接进入下一轮。
python
for i in range(5):
if i == 2:
continue # 遇到2就跳过,不打印
if i == 4:
break # 遇到4直接下班,后面的都不干了
print(i)
# 最终只会打印:0, 1, 3
6. 本章小结与课后“折磨”
今天你给计算机装上了“脑子”。它现在不仅会看脸色(if/elif/else),还会不知疲倦地干活(for/while),甚至懂得了什么时候该摸鱼(break/continue)。
课后小挑战:
写一个“猜数字”小游戏。用 secret = 7 作为标准答案。写一个 while True 的死循环,每次让用户输入一个数字(用 input() 获取,记得转成 int)。如果猜大了,打印“太大了”;猜小了,打印“太小了”;猜对了,打印“恭喜你猜对了!”并执行 break 结束游戏。
敲完这段代码,恭喜你,你已经具备了写出“能玩的游戏”的资格了!
本文由 AI 辅助生成
参考资料:
- Python官方流程控制文档:https://docs.python.org/zh-cn/3/tutorial/controlflow.html
- Python官方复合语句文档:https://docs.python.org/zh-cn/3/reference/compound_stmts.html
- W3Schools Python条件语句教程:https://www.w3schools.com/python/python_conditions.asp