【Python基础】Python 流程控制语句使用详解

目录

一、前言

[二、Python 流程控制](#二、Python 流程控制)

[2.1 条件判断](#2.1 条件判断)

[2.1.1 if 条件判断](#2.1.1 if 条件判断)

[2.1.2 if ... else 语法](#2.1.2 if ... else 语法)

[2.1.3 if ... elif ... else 语法](#2.1.3 if ... elif ... else 语法)

[2.2 模式匹配 match...case](#2.2 模式匹配 match...case)

[2.2.1 基本语法](#2.2.1 基本语法)

[2.2.2 案例代码](#2.2.2 案例代码)

[2.2.3 match...case 使用场景](#2.2.3 match...case 使用场景)

[2.3 While 循环](#2.3 While 循环)

[2.4 For 循环](#2.4 For 循环)

[2.4.1 For 循环基本使用](#2.4.1 For 循环基本使用)

[2.4.2 For 循环案例使用](#2.4.2 For 循环案例使用)

三、写在文末


一、前言

在任何一门编程语言中,流程控制是非常必要也是很关键的控制代码逻辑的语法,Python也不例外。流程控制语句是编程语言中用来改变代码执行顺序的语句。默认情况下,代码是从上到下依次执行的(顺序结构),而流程控制语句允许你:

  • 根据条件决定执行哪段代码(分支)

  • 重复执行某段代码(循环)

  • 跳转到代码的其他位置

可以这样理解:流程控制语句就是程序的"指挥棒",决定了代码执行的路径。

二、Python 流程控制

接下来通过实际案例详细介绍下在Python 中常用的流程控制语法的使用。

2.1 条件判断

2.1.1 if 条件判断

使用场景:只有满足指定条件,才会执行对应的代码逻辑。基本格式如下:

注意:

Python中是通过缩进来描述代码的归属的,归属于if代码块的语句,需要在前方缩进4个空格(按Tab键Pycharn会自动转为空格)。

下面是一段if的示例代码

bash 复制代码
score = 70

if score < 60:
    print("不及格")

if score >= 60 and score <= 70:
    print("及格了")

if score >=80:
    print("优秀")

运行结果

if 语句注意事项:

  • 判断条件的结果一定要是布尔类型

  • 不要忘记判断条件后的冒号(:)

  • if语句里面的代码块,需要在前方缩进空格(建议4个空格),通过缩进来描述代码的层级关系(归属)

如下是一个完整的案例,模拟用户登录输入账号和密码:

bash 复制代码
username = "jike"
password = "admin123"

input_name = input("请输入账号")
input_pwd = input("请输入密码")

if input_name == username and input_pwd == password :
    print("登录成功")
    
if input_name != username or input_pwd != password :
    print("登录失败,账号或密码错误")

2.1.2 if ... else 语法

格式如下:

bash 复制代码
if要判断的条件:
    条件成立时,执行对应的操作1
else:
    条件不成立时,执行的操作2

如下,我们对上面的程序进行if ... else改造

bash 复制代码
username = "jike"
password = "admin123"

input_name = input("请输入账号")
input_pwd = input("请输入密码")

if input_name == username and input_pwd == password :
    print("登录成功")
else :
    print("登录失败,账号或密码错误")

if ... else 语法注意事项:

  • else是不需要条件判断的,当if条件不成立时,else就执行了

  • else代码块,也需要使用空格缩进(建议4个空格)

2.1.3 if ... elif ... else 语法

语法结构如下:

bash 复制代码
# if...elif...else结构
if要判断的条件1:
    条件成立时,执行对应的操作1
elif 要判断的条件2:
    条件成立时,执行对应的操作2
else:
    条件不成立时,执行的操作3

注意:

满足第1个条件,就不会判断第2个部分和第3个部分;第1个条件不成立,才会判断第2个条件;1和2都不成立,才会进入else。

使用该语法对上面的登录程序进行改造如下:

bash 复制代码
username = "jike"
password = "admin123"

input_name = input("请输入账号")
input_pwd = input("请输入密码")

if input_name == username and input_pwd == password :
    print("登录成功")
elif input_name == "root" and input_pwd == "123456" :
    print("登录成功")
else :
    print("登录失败,账号或密码错误")

注意事项:

  • elif可以写多个

  • else 可有可无,如果有必须放在最后

  • 多个条件判断是有顺序的,从上到下判断,如果前面有条件成立了,后面的条件不会判断了

2.2 模式匹配 match...case

2.2.1 基本语法

结构模式匹配就是用一个清晰的模板 去精准的匹配数据的结构和内容,匹配成功则执行相应的操作。如下,左边是使用if ... elif... else编写的代码,如果使用右边的match...case来编写,可维护性更好

match...case执行流程如下:

  1. 首先计算match指定的表达式的值。

  2. 从上到下依次和case后面的值进行匹配,匹配正确,就执行对应语句。

  3. 如果前面所有的case都没有匹配上,就会执行默认的case _ 。

2.2.2 案例代码

如下是一个具体的示例代码:

bash 复制代码
day =input("请输入星期几(1-7):")

match day:
    case "1":
        print("周一")
    case "2":
        print("周二")
    case "3":
        print("周三")
    case "4":
        print("周四")
    case "5":
        print("周五")
    case "6" | "7":
        print("休息日")
    case _:
        print("数据有误")

运行得到下面的效果

下面是一个模拟计算器的案例代码:

bash 复制代码
num1=float(input("请输入第一个数:"))
num2=float(input("请输入第二个数:"))
oper=input("请输入运算符(+-*/):")

match oper:
    case "+":
        print(f"{num1} + {num2} = {num1 + num2}")

    case "-":
        print(f"{num1} - {num2} = {num1 - num2}")
    case "*":
        print(f"{num1} * {num2} = {num1 * num2}")
    case "/":
        print(f"{num1} / {num2} = {num1 / num2}")
    case _:
        print("操作不支持!!!")

运行结果如下:

2.2.3 match...case 使用场景

  1. match:基于某个变量的多个固定值进行分支判断时,可以使用match模式匹配

  2. if:条件判断涉及复杂的逻辑判定、范围比较及组合条件时

2.3 While 循环

While 循环是日常编码开发中使用很多的一种语法结构,其语法结构如下:

注意

while循环是通过条件表达式,来控制是否要进行下一次循环。

如下是一个案例的具体执行流程

完整的程序代码如下:

bash 复制代码
i=0

while i<10:
    print("人生苦短,我用python")
    i=i+1
else:
    print("循环执行结束")

While 循环注意事项:

  1. 条件表达式的结果为布尔类型

  2. 通过空格缩进表述层级关系

  3. 规划好循环终止的条件,否则将无限循环(死循环)

下面是一个1~100之间偶数的累加之和的案例代码

bash 复制代码
i=1
total=0
while i<=100:
    if i%2==0:
        total=total+i
    i=i+1

print(total)

2.4 For 循环

2.4.1 For 循环基本使用

while循环是通过条件表达式来控制是否要进行下一次循环的。而for循环,本质是一种轮询遍历机制,对一批内容进行逐个处理。

For 循环的执行流程如下,右侧给了一个演示案例

下面是一个演示程序

bash 复制代码
msg = input("请输入你要遍历的字符串")

for item in msg:
    print(f"元素:{item}")
else:
    print("遍历结束")

for循环 与while循环的场景对比:

  1. while循环:用于在某个条件满足时一直循环,循环的次数通常是未知的,只知道循环开始/结束的条件。(关注的是循环的条件)

  2. for循环:用于对一个已知的数据集进行遍历或已知次数的循环。(关注的是遍历每一个元素)

2.4.2 For 循环案例使用

For 循环在日常开发中高频使用,下面结合几个实际案例场景进行说明。

1、计算1-100之间所有奇数之和

这个需求需要用到python中的range函数,其用法如下:

完整代码如下:

bash 复制代码
total=0

for i in range(1,101):
    if i%2==1:
        total+=i
print(total)

三、写在文末

本文通过实际案例详细介绍了Python 语言中流程控制语法的使用,希望对看到的同学有帮助,本篇到此结束, 感谢观看。

相关推荐
2601_963870221 小时前
基于Python的晋江文学城热门作品数据分析与可视化
开发语言·python·数据分析
llwszx1 小时前
【Java/Go后端手撸原生Agent(第七篇):Token预算管理 + 滑动窗口上下文裁剪】
java·后端·python·agent开发·上下文工程·上下文裁剪·滑动窗口裁剪
我怎么又饿了呀1 小时前
DataWhale—量化金融(task8 最大回撤 和 仓位管理)
python·金融·量化
Black_Rock_br2 小时前
打通 PyTorch Monarch 与 ROCm:单 Controller 架构的异构算力实战
人工智能·pytorch·python·开源
其实防守也摸鱼2 小时前
Kimi K3深度测评:长文本之外的真实力
运维·开发语言·网络·人工智能·python·学习·安全
weixin_BYSJ19872 小时前
springboot3家政平台小程序--附源码00904
java·javascript·spring boot·python·django·flask·php
风痕天际2 小时前
Pytorch开发教程1——CUDA安装
人工智能·pytorch·python
geovindu3 小时前
python: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·python·算法·搜索算法
程序员果子3 小时前
CrewAI :当 Agent 学会团队协作
人工智能·git·python·多智能体·agent框架