第1章:分支和循环——让代码学会做决定

说实话,刚开始学编程的时候,我最头疼的就是怎么让程序「活」起来。你想想看,如果代码只能从上往下一条条执行,那跟流水账有什么区别?

分支和循环,就是给代码装上「大脑」和「心脏」。大脑负责判断,心脏负责重复。今天我们就来聊聊这两个核心概念。

1.1 if判断语句:代码的「选择题」

先问个问题:你写程序的时候,是不是经常遇到这种情况——「如果A成立,就做这件事;否则做那件事」?

if语句就是干这个的。它的语法很简单:

age = 18
if age >= 18:
    print("你已经成年了")

注意那个冒号!我刚开始学的时候,经常忘记写冒号,结果程序直接报错。嗯,这个小细节坑了我好几次。

小提示:Python用缩进来表示代码块,不像其他语言用花括号。所以缩进一定要统一,我习惯用4个空格。

1.2 运算符:判断的「工具」

判断离不开运算符。常用的有这些:

类型 运算符 说明
比较运算符 ==, !=, >, <, >=, <= 比较两个值
逻辑运算符 and, or, not 组合多个条件
成员运算符 in, not in 检查是否在序列中

举个例子,我在项目中遇到过这样一个场景:需要判断用户输入的分数是否在0到100之间。用and就很简单:

score = 85
if score >= 0 and score <= 100:
    print("分数有效")
重点:== 和 = 千万别搞混!==是比较,=是赋值。我曾经因为这个bug调试了半小时...

1.3 if-else语句:两条路选一条

有时候我们需要「二选一」。if-else就是干这个的:

age = 16
if age >= 18:
    print("可以考驾照")
else:
    print("再等等吧")

你想想看,如果只有if没有else,那条件不满足时程序就什么都不做。但很多时候我们需要一个「兜底」方案。

还有更复杂的多分支情况,用if-elif-else:

score = 85
if score >= 90:
    grade = "优秀"
elif score >= 80:
    grade = "良好"
elif score >= 60:
    grade = "及格"
else:
    grade = "不及格"
注意:elif可以有多个,但else只能有一个,而且放在最后。顺序很重要!条件范围要从大到小排列,否则可能出问题。

1.4 while循环:重复直到条件不满足

while循环就像是一个「反复检查」的过程。只要条件为真,就一直执行:

count = 0
while count < 5:
    print(f"第{count+1}次循环")
    count += 1

我个人习惯用while来处理「不知道要循环多少次」的情况。比如等待用户输入正确的内容:

password = ""
while password != "123456":
    password = input("请输入密码:")
print("密码正确!")
避坑指南:我曾经写过一个死循环,因为忘记在循环体里更新条件变量。程序一直跑,CPU飙到100%,最后只能强制关闭。所以一定要确保循环条件最终会变成False。

1.5 for循环:遍历序列的好帮手

for循环更适合「知道要循环多少次」的情况。它专门用来遍历序列(列表、字符串、元组等):

fruits = ["苹果", "香蕉", "橘子"]
for fruit in fruits:
    print(f"我喜欢吃{fruit}")

配合range()函数,可以生成数字序列:

for i in range(5):  # 0,1,2,3,4
    print(i)

range(5)生成0到4,共5个数。如果想从1开始,用range(1, 6)。

小技巧:for循环比while更安全,因为它自动管理循环次数,不容易写出死循环。能用for的地方,我一般优先用for。

1.6 break和continue:循环的「刹车」和「跳过」

有时候我们需要在循环中途退出,或者跳过某次循环。这时候break和continue就派上用场了。

break:立即退出整个循环

for i in range(10):
    if i == 5:
        break
    print(i)
# 输出:0 1 2 3 4

continue:跳过本次循环,进入下一次

for i in range(5):
    if i == 2:
        continue
    print(i)
# 输出:0 1 3 4

我记得有一次写爬虫,遇到某个页面出错,用continue跳过它继续抓取后面的数据,省了不少事。

注意:break和continue只作用于当前所在的循环。如果是嵌套循环,它们只影响最内层的那一个。

知识体系总览

下面这张图帮你理清本章的知识结构:

分支和循环 分支结构 if 判断 if-else if-elif-else 循环结构 while 循环 for 循环 break / continue 运算符:比较、逻辑、成员 为判断和循环提供条件支持

说白了,分支和循环就是编程的「骨架」。没有它们,代码就是一潭死水。有了它们,程序才能根据不同的情况做出不同的反应,才能重复执行任务直到完成。

我建议你多动手写几个小例子。比如写个猜数字游戏,用if判断大小,用while让玩家一直猜直到猜对。实践出真知,光看是学不会的。

好了,这一章就到这里。记住:分支让代码会思考,循环让代码会坚持。这两个技能掌握了,你就已经迈出了编程路上最重要的一步。

可可精品资料库