【Python指南 | 第六篇】条件控制语句、循环语句,这一篇就够了

简介: 【Python指南 | 第六篇】条件控制语句、循环语句,这一篇就够了



条件控制语句

Python 条件控制语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块,实质上就是C语言的选择结构。

if语句

语法结构如下:

if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

这里要注意的是:

1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。

2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。

举个实例:

age = 22
is_student = True
if age < 18:
    print("您还未成年,不能参加此活动")
elif age >= 18 and age <= 25 and is_student:
    print("您是学生,可以享受折扣价")
elif age >= 60:
    print("您是老人,可以享受免费服务")
else:
    print("您需要支付全价")

if 嵌套

在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。

if 表达式1:
    语句
    if 表达式2:
        语句
    elif 表达式3:
        语句
    else:
        语句
elif 表达式4:
    语句
else:
    语句

实例如下:

age = 25
is_student = True
is_vip = False
if age >= 18:
    print("您已经成年了")
    if is_student:
        print("您是学生")
        if is_vip:
            print("您是 VIP 学生,可以享受免费服务")
        else:
            print("您是普通学生,需要支付折扣价")
    else:
        print("您不是学生")
        if is_vip:
            print("您是 VIP 用户,可以享受免费服务")
        else:
            print("您需要支付全价")
else:
    print("您还未成年,不能参加此活动")

match…case

在Python 3.10及以后的版本中,引入了一种新的语法结构:match…case。它提供了一种更简洁和可读性更好的方式来进行模式匹配。

match…case 结构类似于 switch 语句,在不同的模式匹配下执行不同的代码块。每个 case 子句都包含一个模式(pattern)和相应的代码块。

match subject:
    case <pattern_1>:
        <action_1>
    case <pattern_2>:
        <action_2>
    case <pattern_3>:
        <action_3>
    case _:  # 等同于C语言中的deafult
        <action_wildcard>

实例如下:

def check_grade(grade):
    match grade:
        case "A":
            print("优秀")
        case "B":
            print("良好")
        case "C", "D":
            print("及格")
        case _:
            print("不及格")
check_grade("A")  # 输出:优秀
check_grade("B")  # 输出:良好
check_grade("D")  # 输出:及格
check_grade("F")  # 输出:不及格

循环语句

Python 中的循环语句有 for 和 while,但不同于C语言,Python没有 do…while 循环。

for 语句

Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。

语法结构如下:

for <variable> in <sequence>:
    action1
else:
    action2

当需要处理更复杂的情况时,可以在 for 循环中嵌套其他控制流语句,如条件语句(if…else)和循环语句(while),实例如下:

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
for row in matrix:
    for element in row:
        if element % 2 == 0:
            print(f"{element} 是偶数")
        else:
            print(f"{element} 是奇数")

while语句

while语句语法结构如下:

while (condition):
    action

实例如下:

total = 0
i = 1
while i <= 10:
    total += i
    i += 1
print(f"数字 1~10 的和为 {total}")
#当 i 大于 10 时,循环终止,最终打印出数字 1~10 的总和。

f-string

在Python中,f 是用于创建格式化字符串的前缀,它可以与大括号 {} 一起使用,用于在字符串中插入变量或表达式的值。

举个例子:

name = "Alice"
age = 25
message = f"My name is {name} and I'm {age} years old."
print(message)

在这个例子中,我们定义了一个变量 name 和 age,分别表示人物的姓名和年龄。然后使用 f-string 创建一个格式化的字符串,其中大括号内包含变量名或表达式。在运行时,{name} 会被替换为变量 name 的值 “Alice”,{age} 会被替换为变量 age 的值 25。最终得到的字符串被打印出来。

while + else 语句

当 while 后面的条件语句为 false 时,则执行 else 的语句块。

语法格式如下:

while (condition):
    action1
else:
    action2

举个例子:

i = 0
while i < 5:
    print(i)
    i += 1
else:
    print("循环结束")

直到 i 不再小于 5。当 i 等于 5 时,循环条件为假,循环结束。此时 else 语句会执行,输出 “循环结束”。

for…else

在 Python 中,for…else 语句用于在循环结束后执行一段代码。

语法格式如下:

for item in iterable:
    # 循环主体
else:
    # 循环结束后执行的代码

break 语句可以跳出 for 和 while 的循环体。如果从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。

continue 语句使 Python 跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

举个例子:

fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    if fruit == "orange":
        print("橙子在列表中")
        break
else:
    print("列表中没有橙子")

在这个例子中,我们使用 for 循环遍历一个水果列表,并检查列表中是否包含 “orange” 字符串。由于列表中没有 “orange”,因此循环正常结束,else 语句会执行,输出 “列表中没有橙子”。

如果我们在循环体中使用 break 语句提前终止循环,那么 else 语句将不会执行。例如:

fruits = ["apple", "banana", "cherry", "orange"]
for fruit in fruits:
    if fruit == "orange":
        print("橙子在列表中")
        break
else:
    print("列表中没有橙子")


本文内容到此为止,在下一篇文章中将介绍推导式等相关知识点。

目录
相关文章
|
1月前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
245 1
|
4月前
|
Python
Python中的循环可以嵌套使用吗?
Python中的循环可以嵌套使用吗?
333 57
|
6月前
|
机器学习/深度学习 算法 关系型数据库
Python循环进阶:嵌套与控制的深度解析
本文深入探讨Python中嵌套循环的原理与应用,从数学模型到工程实践全面解析。内容涵盖嵌套循环的本质(如笛卡尔积实现、变量作用域)、精细控制技巧(如break/continue、迭代器协议、异常处理),以及性能优化策略(预计算、向量化等)。同时结合树形结构遍历、动态规划、游戏开发等典型场景,提供最佳实践建议。掌握这些技巧,助你突破编程瓶颈,实现复杂问题的优雅解决。
232 6
|
7月前
|
存储 Shell 开发者
Python用户输入与While循环
本文介绍了Python中用户输入与while循环的结合使用,通过`input()`函数获取用户输入,并利用while循环实现重复操作,如创建交互式程序或用户驱动的循环。示例代码展示了如何让用户输入数字并计算总和,直到输入指定退出命令。这种组合能帮助开发者构建强大的交互式Python应用。
221 1
|
开发工具 Python
[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
150 2
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
254 2
|
Python
Python 中,循环判断
Python 中,循环判断
265 1
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
137 5
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
155 5
|
Python
Python 循环语句的高级应用与深度探索
本文深入探讨了Python中循环语句的高级应用,包括`for`循环遍历字典获取键值、同步遍历多个序列,以及`while`循环结合条件判断和异常处理。通过嵌套循环实现了矩阵乘法,并介绍了如何优化循环以提升程序性能。示例代码展示了这些技术的实际应用。
150 15

推荐镜像

更多
下一篇
oss云网关配置