【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 基础》,一起把基础打牢。
相关推荐
笨鸟先飞,勤能补拙5 小时前
AI 赋能网络安全:技术全景、成熟度评估与实战案例
人工智能·python·安全·web安全·网络安全·sqlite·github
长和信泰光伏储能6 小时前
京津冀光伏发电:绿色能源的未来之路
python·能源
浦信仿真大讲堂6 小时前
从重复操作到自动化闭环:如何让 CST 与 Python 真正协同起来
python·自动化·cst·仿真软件·达索软件
Gu Gu Study6 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python
卷无止境7 小时前
写代码这件事,到底该讲究点什么?
后端·python
卷无止境7 小时前
循环复杂度到底在算什么,Python 代码怎么才能写得让人一看就懂
后端·python
lpfasd1237 小时前
MediaCrawler 项目深度分析
chrome·python·chrome devtools
Dxy12393102168 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
bamb008 小时前
一个项目带你入门AI应用开发01
python
0566469 小时前
Python康复训练——常用标准库
开发语言·python·学习