掌握Python三大语句:顺序、条件与循环
一、顺序语句
我们目前接触到的代码,例如c、c++、Java等等,代码执行的顺序都是按照从上到下的顺序来执行的,我们称为顺序语句
#顺序语句
print('1')
print('2')
print('3')
这里我们的执行结果一定为"123",而不会出现其他的"312"、"213"等,这种按照顺序执行的代码(从上到下),就是顺序语句
二、条件语句
2.1 什么是条件语句
条件语句能够表达"如果.......就........" 这样的语句意义,这构成了我们计算机中基础的逻辑判定
条件语句也叫分支语句,表示了接下来的逻辑可能有几种走向(让我们来举个例子):
weather = input("今天下雨了吗?(是/否): ")if weather == "是":print("🌧️ 带上伞")
else:print("☀️ 不用带伞")
🌧️ 生活中的例子:要不要带伞?
想象一下,你早上准备出门去上课,走到门口,突然想到:
“如果今天下雨,我就带伞;否则,就不带雨伞。”
这句话听起来是不是特别像我们平时的思考方式?这其实就是一条典型的条件语句!
- 其中“如果下雨”称为条件,如果条件成立(真),则会出现“我就带伞”这个情况
- 如果条件不成立(假),则会出现“就不带雨伞”
2.2 条件语句的语法格式
2.2.1 缩进和代码块
2.2.1.1 什么是代码块
在编程中,代码块就是一组“属于同一个逻辑单元”的语句。
比如在 if
语句中:
if 条件:这一行这两行这三行都是“条件成立时”才执行的代码
这“四行”就构成了一个代码块——它们“同进退”。
2.2.1.2 Python 的独特之处:用缩进定义结构
在 C、Java、JavaScript 等语言中,代码块是用 {}
括起来的:
// C语言示例
if (age >= 18) {printf("成年");printf("可以投票");
}
但在 Python 中,没有 {}
,而是靠“缩进”来表示谁属于谁:
if age >= 18:print("成年")print("可以投票")
# 没有缩进 → 不再属于 if
print("程序结束")
2.2.1.3 缩进的规则(必须掌握!)
要点 | 说明 |
---|---|
✅ 使用空格或 Tab | 推荐用 4 个空格(Python 官方建议) |
✅ 同一代码块必须对齐 | 同一级别的语句左对齐 |
✅ 不能混用空格和 Tab | 容易出错!建议编辑器设置“Tab 转 4 空格” |
✅ 冒号 : 后要缩进 | if , else , for , def 等后跟代码块,必须缩进 |
Python 中的条件语句主要有三种形式:
2.2.2 if语句 (如果……就……)
if 条件:条件为真时执行的代码
🔹 ps:只有当“条件”成立(结果为 True
)时,才会执行下面的代码块;否则跳过。
生活例子:闹钟提醒
如果 时间是早上7点,就 播放起床铃声。
👉 只有当
time
等于 7 时,闹钟才会响。
2.2.3 if-else
语句
(二选一:如果……就……,否则……)
if 条件:条件为真时执行的代码
else:条件为假时执行的代码
🔹 PS:必选其一,要么走 if 分支,要么走 else 分支。
生活例子:看电影是否需要买票
如果 年龄 ≥ 12岁,就 需要买票;否则,免费入场。
age = 10if age >= 12:print("🎫 请购买成人票") else:print("🎟️ 儿童免费入场")
👉 年龄够了买票,不够就免费——非此即彼。
2.2.4 if-elif-else
语句(多选一:多种情况判断)
if 条件1:满足条件1时执行
elif 条件2:满足条件2时执行(但条件1不满足)
elif 条件3:满足条件3时执行
else:以上都不满足时执行
🔹 说明:从上往下依次判断,一旦满足某个条件,就执行对应代码,然后跳出整个结构。
生活例子:点餐根据预算选择套餐
如果 预算 ≥ 30元,点豪华汉堡套餐;
否则如果 预算 ≥ 20元,点普通汉堡;
否则如果 预算 ≥ 10元,点薯条;
否则,只能喝白开水 😅budget = 25 # 你有25元if budget >= 30:print("🍔 豪华汉堡套餐 + 可乐 + 薯条") elif budget >= 20:print("🍔 普通汉堡 + 可乐") elif budget >= 10:print("🍟 薯条一份") else:print("💧 喝杯白开水吧")
👉 输出:
🍔 普通汉堡 + 可乐
2.2.5 语法要点提醒
要点 | 说明 |
---|---|
✅ 冒号 : | 每个 if , elif , else 后面必须加冒号! |
✅ 缩进 | 条件后的代码必须缩进(一般用 4 个空格),表示“属于这个分支” |
✅ 条件是布尔表达式 | 条件的结果必须是 True 或 False ,比如:age >= 18 , name == "张三" |
❌ 不要写成 = | 判断相等用 == ,不是赋值的 = ! |
2.2.5 模拟自动售货机
假设一台饮料机,根据投入的金额出货:
- 投入 ≥ 5元:出“可乐”
- 投入 ≥ 3元:出“矿泉水”
- 否则:提示“金额不足”
money = float(input("请投入金额(元):"))if money >= 5:print("🥤 可乐出来啦!")
elif money >= 3:print("💧 矿泉水出来啦!")
else:print("⚠️ 金额不足,请投币")
三、循环语句
3.1 while循环
循环是让程序“自动重复做事情”的核心工具,而 while
是其中最直观、最接近人类思维的一种。
3.1.1 什么是while循环
while
在英文中是“当……的时候”。在 Python 中,它的意思是:
“当某个条件成立时,就一直重复执行某些代码。”
这就像我们生活中的很多“重复行为”。
生活例子:刷碗直到干净
想象你吃完饭后要洗碗:
“当碗还不干净时,就继续刷。”
这个逻辑就可以用 while
来表达!
# 假设 clean 是“是否干净”的状态
clean = False# 当“不干净”时,就继续刷
while not clean: print(" 正在刷碗...")# 假设刷一次就干净了clean = Trueprint(" 碗洗好了!")
not clean
表示“还不干净”,一旦clean = True
,条件不成立,循环结束。
3.2 while
循环的基本语法
while 条件:循环体
- 条件为真(ture),则执行循环代码
- 条件为假(False) ,结束循环
代码示例:打印 1~10的整数
# 打印1~10的整数
num = 1
while num <= 10:print(num)num+=1
num = 1 —— 这是
while
循环的第一步:设置起始值
while num <= 10: —— 循环的判断条件 注意:
条件检查发生在每次循环开始前print(num) —— 循环打印1~10
num += 1:
- 这是更新变量的关键步骤
num += 1
等价于num = num + 1
- 每次循环结束时,
num
的值增加1- 这样才能让循环最终结束
⚠️ 如果没有这行,
num
永远是1,条件永远为True
→ 死循环!
代码示例:打印 1~100的和
# 1~100的和
sum = 0
num = 1
while num <= 100:sum += numnum += 1
print(sum)
代码示例:求1! + 2! + 3! + 4! + 5!
# 代码示例:求1! + 2! + 3! + 4! + 5!
num = 1
sum = 0
while num <= 5:factorResult = 1i = 1while i <= num:factorResult *= ii += 1sum += factorResultnum += 1
print(sum)
这个示例会复杂一些,用到了两个while,循环嵌套
四、for循环
4.1 基本语法格式
for 循环变量 in 可迭代对象:循环体
注意:
- python的for和其他语言不同,没有“初始化语句”,“循环条件判定语句”,“循环变量更新语句”,而是更加简单
例子1:用 range()
打印1到10
for num in range(1, 11):print(num)
- 使用range函数能够生成一个可迭代对象,生成的范围是[1,11),也就是[1,10] 下面举一个例子给大家加深range知识点的记忆
例子2:老师点名
想象一下上课时,老师要检查谁来了:
“对每一个学生,都喊一次名字”
students = ["小明", "小红", "小刚", "小丽"]for student in students:print(f"到!{student}")
核心例子1:用 range()
生成数字序列
for i in range(1, 6):print(i)
重点解析 range()
:
range(1, 6)
不是数字,而是一个“数字生成器”- 它会生成:1, 2, 3, 4, 5
- 左闭右开:包含左边,不包含右边
i
是循环变量,依次取这些值
核心例子2:“快递员送快递”
想象一个快递员要送5个包裹:
packages = ["A", "B", "C", "D", "E"]for pkg in packages:print(f" 正在派送包裹 {pkg}")
print(" 全部送达!")
packages
是“待送包裹清单”pkg
是当前正在送的包裹- 每送一个,自动取下一个
- 送完自动结束
4.2 拆解每一部分:
部分 | 说明 | 示例 |
---|---|---|
for | 关键字,表示开始一个 for 循环 | 固定写法 |
变量 | 临时存放当前元素的“容器” | student , num , char |
in | 关键字,表示“在……之中” | 固定写法 |
可迭代对象 | 能被“一个一个取出”的数据 | 列表、字符串、range() |
: | 冒号!必须有! | 否则报错 |
缩进代码 | 循环体,属于 for 的代码块 | 必须缩进(4空格) |
五、break和continue
5.1 为什么需要 break
和 continue
有时候我们希望:
- 提前结束整个循环(比如找到了目标)
- 跳过当前循环,直接进入下一次循环(比如遇到了不需要处理的数据)
这就是
break
和continue
的作用!
5.2 break
:跳出整个循环
当一个代码在执行过程中,如果遇到break,则会跳出整个代码,不再执行后续代码
例子:找停车位
想象你在停车场里找车位:
“如果找到空位,就停车;否则继续找。”
parking_spaces = ["满", "满", "空", "满", "满"]for space in parking_spaces:if space == "空":print(" 找到空位!")break # 找到了,不用再找了!else:print(" 继续寻找...")
这里大家就可以看到,找到空位后,也就是代码执行到了break,就会跳出1整个代码,不再执行下去
5.3 continue:跳出当前循环
遇到 continue
后,跳过当前循环的剩余部分,直接进入下一次循环。
例子:过滤垃圾邮件
假设你要筛选邮件,跳过所有垃圾邮件:
emails = ["广告", "工作机会", "优惠券", "朋友来信", "广告"]for email in emails:if email == "广告":continue # 跳过广告,不处理print(f"阅读: {email}")
遇到“广告”,直接跳过,不打印也不做其他操作。
5.4 对比 break
和 continue
关键字 | 功能 | 示例 |
---|---|---|
break | 提前结束整个循环 | 找到空位后停止搜索 |
continue | 跳过当前循环,继续下一次 | 遇到广告跳过,继续看下一封 |
# `break` 示例
for i in range(1, 6):if i == 3:break # 当 i=3 时,直接跳出循环print(i) # 只会输出 1 和 2print("跳出循环")# `continue` 示例
for i in range(1, 6):if i == 3:continue # 当 i=3 时,跳过本次循环print(i) # 输出 1, 2, 4, 5,跳过了 3