【Python 基础】第2章:流程控制完全指南(if/match/while/for)

流程控制语句

    • 前言
    • [1. 流程控制语句](#1. 流程控制语句)
      • [1.1 if 语句](#1.1 if 语句)
        • [1.1.1 定义](#1.1.1 定义)
        • [1.1.2 代码示例](#1.1.2 代码示例)
        • [1.1.3 注意事项](#1.1.3 注意事项)
      • [1.2 if...else 语句](#1.2 if...else 语句)
        • [1.2.1 定义](#1.2.1 定义)
        • [1.2.2 代码示例](#1.2.2 代码示例)
        • [1.2.3 注意事项](#1.2.3 注意事项)
      • [1.3 if...elif...else](#1.3 if...elif...else)
        • [1.3.1 定义](#1.3.1 定义)
        • [1.3.2 代码示例](#1.3.2 代码示例)
        • [1.3.3 注意事项](#1.3.3 注意事项)
      • [1.4 match...case 语句](#1.4 match...case 语句)
        • [1.4.1 定义](#1.4.1 定义)
        • [1.4.2 代码示例](#1.4.2 代码示例)
    • [2. 循环语句](#2. 循环语句)
      • [2.1 while 循环语句](#2.1 while 循环语句)
        • [2.1.1 定义](#2.1.1 定义)
        • [2.1.2 代码示例](#2.1.2 代码示例)
        • [2.1.3 注意事项](#2.1.3 注意事项)
      • [2.2 for 循环](#2.2 for 循环)
        • [2.2.1 定义](#2.2.1 定义)
        • [2.2.2 代码示例](#2.2.2 代码示例)
        • [2.2.3 注意事项](#2.2.3 注意事项)
      • [2.3 range 语句](#2.3 range 语句)
        • [2.3.1 定义](#2.3.1 定义)
        • [2.3.2 代码示例](#2.3.2 代码示例)
      • [2.4 break 语句](#2.4 break 语句)
        • [2.4.1 定义](#2.4.1 定义)
        • [2.4.2 代码示例](#2.4.2 代码示例)
      • [2.5 嵌套循环](#2.5 嵌套循环)
        • [2.5.1 定义](#2.5.1 定义)
        • [2.5.2 代码示例:九九乘法表](#2.5.2 代码示例:九九乘法表)
        • [2.5.3 综合案例:猜数字](#2.5.3 综合案例:猜数字)
    • 结语

🎬 博主名称: 超级苦力怕

🔥 个人专栏: 《Python 基础》

🚀 每一次思考都是突破的前奏,每一次复盘都是精进的开始!


前言

本文主要内容:Python 流程控制和循环的核心概念 ,包含 if、match...case 控制语句,for、while 循环语句,以及像 range 这样的内置函数。


1. 流程控制语句

在 Python 语言基础中,流程控制语句主主要包括 if 语句、if...else 语句、if...elif...else 语句 构成,他们主要进行条件判断。

1.1 if 语句

1.1.1 定义

if 语句用来做条件判断,只有满足指定条件,才会执行对应的代码,基本语法如下。

python 复制代码
# if 语句
if 要判断的条件:							# 判断条件的结果会被解释为布尔值(True 或 False)
	条件成立时,要执行对应操作1				# 如果为 True,则执行 if 下的语句	
1.1.2 代码示例

如果我有两百块钱以上,我就吃一顿好的。

python 复制代码
# 定义变量
money = 300
# 条件判断
if money > 200:
	print("吃一顿好的")
1.1.3 注意事项
  1. 判断条件的结果会被解释为布尔值(True 或 False)
  2. 判断条件后需要加冒号
  3. if 语句里的代码块,需要在前面缩进空格(建议四个空格),用来描述代码关系层级

1.2 if...else 语句

1.2.1 定义

if...else 语句中,当 if 条件不成立时,else对应的语句内容将会执行,基本语法如下

python 复制代码
if 要判断的条件:
	条件成立时,执行对应的操作1
else:								# 当上述条件不成立时,执行else
	条件不成立时,执行的操作2
1.2.2 代码示例

如果我有两百块钱以上,我就吃一顿好的,否则就吃一份快餐。

python 复制代码
# 定义变量
money = 300
# 条件判断
if money > 200:
	print("吃一顿好的")
else:
	print("吃一顿快餐")
1.2.3 注意事项
  1. else 是不需要条件判断的,当 if 条件不成立时,else 就执行了。
  2. else 代码块,也需要使用空格缩进(建议4个空格)。

1.3 if...elif...else

1.3.1 定义

if...elif...else 可以判断多种情况,其中 elif 可以写多个,基本语法如下

注意:满足第1个条件,就不会判断下面的部分,当第1个条件不成立时,才会判断第2个条件,当上述条件都不成立,才会进入else。

python 复制代码
if 要判断的条件1:				# 如果成立,执行对应操作1,下述语句不执行
	条件成立时,执行对应操作1
elif 要判断的条件2:			# 如果上述条件不成立,判断该条件是否成立
	条件成立时,执行对应操作2,下述判断语句不执行
elif 要判断的条件3:
	条件成立时,执行对应操作3,下述判断语句不执行
....
else:								# 如果上述条件皆不成立,执行该操作
	条件不成立时,执行对应操作
1.3.2 代码示例

如果我有两百块钱以上,我就吃一顿好的,如果我有100元,我就吃快餐,如果我100元都没有,我省钱吃两个馒头。

python 复制代码
# 定义变量
money = 300
# 条件判断
if money > 200:
	print("吃一顿好的")
elif money >=100:
	print("吃一顿快餐")
else:
	print("吃馒头")
1.3.3 注意事项
  1. elif 可以写多个
  2. else 可有可无,必须放在最后
  3. 多个条件判断是有顺序的,从上到下判断,如果前面有条件成立了,后面的条件就不会判断了

1.4 match...case 语句

1.4.1 定义

这是一个结构模式匹配,即用一个清晰的 模板 去准确的匹配数据的结构和内容,匹配成功则执行相应的操作,基本语法如下。

python 复制代码
match 目标值:			# 这里指定一个目标值,与下面一一匹配
	case 对应值1:		# 匹配正确,则执行内容,不会继续匹配
		执行内容1
	case 对应值2:
		执行内容2
	...
	case _:				# 当上述匹配都失败时,执行该内容
		执行内容
1.4.2 代码示例

首先计算 match 指定的表达式的值,从上到下依次和 case 后面的值匹配,匹配正确,就执行对应语句,如果前面都没有匹配上,就会执行默认的 case _

python 复制代码
# 工作日程安排
day = input("请输入星期几(1-7): ")
match day:
    case "1":
        print("周一: 工作会议日")
    case "2":
        print("周二: 学习培训日")
    case "3":
        print("周三: 项目开发日")
    case "4":
        print("周四: 代码审查日")
    case "5":
        print("周五: 总结规划日")
    case "6" | "7":		# 这里表示或的关系,匹配多个模式中任意一个,可以参考 or
        print("周末: 休息放松")
    case _:
        print("输入错误")

2. 循环语句

2.1 while 循环语句

2.1.1 定义

while 循环是通过条件表达式,来控制是否要进入下一个循环,基础语法结构如下

python 复制代码
while 条件表达式:		# 每次循环会判断是否满足条件,满足则将循环体语句全部执行,进入下一次循环
	循环体语句1
	循环体语句2
	...
else:				# else 可有可无,如果写了,当条件为 False 时执行
	语句
2.1.2 代码示例

打印10遍 "我学Python"

python 复制代码
i = 0

while i < 10:
    print("我学Python")
    i += 1
else:
    print("循环正常结束,执行完毕")
2.1.3 注意事项
  1. 条件表达式的结果为布尔类型
  2. 通过空格缩进描述层级关系
  3. 规划好循环终止的条件,否则将无限循环(又称死循环)
  4. 在Python中,True 和 False 首字母需要大写,这与某些语言(如Java 的 true/false)不同。

2.2 for 循环

2.2.1 定义

for 循环 是一种 轮询遍历 机制,对一批内容进行逐个处理,基本语法如下

python 复制代码
# for循环结构
for 元素 in 待处理数据集:
	循环代码(对元素处理)
else:							# 可选可不选
	循环结束时,执行的代码
2.2.2 代码示例

遍历字符串"Python"

python 复制代码
# 定义要遍历的字符串
msg = "Python"

# 遍历字符串,并处理
for i in msg:
    print(i)
else:
    print("循环结束")
2.2.3 注意事项

for 循环 与 while 循环使用场景如下:

  • while循环:用于某个条件满足时一直循环,循环的次数未知,只知道循环开始/结束的条件(关注的是循环的条件)
  • for循环:用于对一个已知的数据集进行遍历或已知次数的循环(关注的是遍历的对象

2.3 range 语句

2.3.1 定义

range 语句用于生成指定规则的数字序列,它可以取连续的数字,他有三种用法,分别有不同的效果:

  1. range(end):获取一个从0开始,到 end 结束的数字序列 (不含 end 本身)
  2. range(start,end):获取一个从 start 开始,到 end 结束的数字序列(不含 end 本身)
  3. range(start,end,step):获取一个从 start 开始,到 end 结束的数字序列,step 为步长(不含 end 本身)
2.3.2 代码示例

计算 1 到 100 之间所有奇数之和

python 复制代码
# 案例:计算 1-100 之间所有的奇数之和
total = 0  # 记录累加之和

for i in range(1, 101):
    if i % 2 == 1:  # 奇数
        total += i
        
print("1-100之间的奇数累加之和:", total)

2.4 break 语句

2.4.1 定义

break 用于跳出当前循环(不管是 for 循环还是 while 循环),不再执行循环中剩下的代码

注意:只是跳出当前循环,如果有嵌套循环,只跳出最内层的循环

2.4.2 代码示例

找出第一个能被3整除的数,当找到后,程序终止。

python 复制代码
numbers = [4, 7, 8, 9, 10, 11, 12]

for num in numbers:
    if num % 3 == 0:
        print(f"第一个能被3整除的数是: {num}")
        break

2.5 嵌套循环

2.5.1 定义

循环是可以嵌套的,外层循环循环一次,内层循环就要循环n次,基本语法如下

可以参考时钟,他就像一个三层循环,时钟循环一次,分钟就要循环60次,秒钟就要循环3600次

python 复制代码
for 元素 in 待处理数据集1:
	循环体代码1
	循环体代码2
	...
	for 元素 in 待处理数据集2:
		循环体的代码1
		循环体的代码2
		...
2.5.2 代码示例:九九乘法表

打印九九乘法表

思路 :我们可以一行一行打印,外层循环控制行数,内层循环控制列数
拓展print("*",end=" "),其中 end 表示的是每一次输出什么结束,默认为 \n,也就是换行

python 复制代码
for i in range(1, 10):          # 控制行数,从 1 到 9
    for j in range(1, i + 1):    # 控制列数,每行列数不超过当前行数
        print(f"{j}*{i}={i*j}", end="\t")  # 打印乘法表达式,用制表符分隔
    print()                       # 每行结束后换行
2.5.3 综合案例:猜数字

在循环中,我们可以通过True,让循环一直执行,也可以通过 break 跳出,通过这个原理,我们可以进行猜数字(随机一个1~100的数,当你猜大或小,会有提示,直到猜对终止)

python 复制代码
import random
random_number = random.randint(1, 100)
while True:
    num = int(input("请输入你猜的数字: "))
    if num > random_number:
        print("你猜的数字太大了")
    elif num < random_number:
        print("你猜的数字太小了")
    else:
        print("恭喜你,猜对了")
        break

结语

本文带你认识了Python中的条件判断语句if、if...else、if...elif...else,掌握了match...case模式匹配的基本用法,学会了使用while循环、for循环和range生成数字序列,以及用break提前终止循环。

  • 如果本文对你有帮助:欢迎点赞、收藏,让更多正在学 Python 的同学看到。
  • 遇到问题或有不同理解:可以在评论区留言,一起讨论、互相学习。
  • 想系统看更多内容:可以关注专栏《Python 基础》,一起把基础打牢。
相关推荐
第一程序员2 小时前
Python高级特性详解:从基础到进阶
python·github
wzhidev2 小时前
04、Python核心数据类型详解:从一段诡异的调试说起
开发语言·python
wzhidev2 小时前
05、Python流程控制与函数定义:从调试现场到工程实践
linux·网络·python
Thomas.Sir2 小时前
第十一章:深入剖析 Prompt 提示工程
python·prompt
Fortune792 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
2401_878530212 小时前
高级爬虫技巧:处理JavaScript渲染(Selenium)
jvm·数据库·python
2401_873544922 小时前
使用Black自动格式化你的Python代码
jvm·数据库·python
Fortune792 小时前
用Python破解简单的替换密码
jvm·数据库·python
码码哈哈0.02 小时前
某音评论采集代码分析(基于 Playwright)文末附成品下载
python