Python教程:一文了解Python的条件、循环语句

简介: 条件语句(Conditional Statements)是编程中用于根据条件执行特定代码块的结构。在 Python 中,条件语句通常使用 if、elif 和 else 关键字来实现。通过条件语句,程序可以根据不同的条件选择性地执行不同的代码块。循环语句(Loop Statements)则是一种重复执行特定代码块的结构。在 Python 中,常见的循环语句有 while 循环和 for 循环。循环语句允许程序根据特定的条件或者对一个序列进行迭代,重复执行一段代码,直到满足退出循环的条件为止。

条件语句(Conditional Statements)是编程中用于根据条件执行特定代码块的结构。在 Python 中,条件语句通常使用 if、elif 和 else 关键字来实现。通过条件语句,程序可以根据不同的条件选择性地执行不同的代码块。

循环语句(Loop Statements)则是一种重复执行特定代码块的结构。在 Python 中,常见的循环语句有 while 循环和 for 循环。循环语句允许程序根据特定的条件或者对一个序列进行迭代,重复执行一段代码,直到满足退出循环的条件为止。

条件语句


if 语句

if 语句是 Python 中最基本的条件语句之一,它的基本语法如下:

if condition1:
    # 当条件1成立时执行的代码
elif condition2:
    # 当条件2成立时执行的代码
else:
    # 如果以上条件均不成立,则执行这部分代码

image.gif

在这个语法结构中,如果 condition1 成立,那么相应的代码块将会被执行;如果 condition1 不成立但 condition2 成立,则对应的代码块将会被执行;最后,如果前两个条件均不成立,则执行 else 语句块中的代码。

嵌套 if 语句

在 Python 中,if 语句也可以嵌套使用,即在一个 if 语句内部再包含另一个 if 语句。这样可以根据更复杂的条件逻辑进行程序控制。

三元运算符

除了常规的 if-elif-else 结构外,Python 还提供了简洁的三元运算符用于条件判断,其语法如下:

value = true-expr if condition else false-expr

image.gif

其中,如果 condition 成立,则返回 true-expr 的值,否则返回 false-expr 的值。

循环语句


while 循环

while 循环允许根据一个条件重复执行代码块,其基本语法如下:

while condition:
    # 在条件为真时执行的代码

image.gif

range() 函数

结合 range() 函数可以生成指定范围的数字序列,用于控制 for 循环的迭代次数:

for i in range(5):
    print(i)

image.gif

上述代码将会输出 0 到 4 的数字。

循环控制语句


break

break 语句用于跳出当前所在的最内层循环,终止循环的执行。

continue

continue 语句用于终止当前循环的本次迭代,并进入下一次迭代。

pass

pass 语句是 Python 中的占位符,它表示一个空操作,通常用于指出代码的某个部分暂时不需要执行任何操作。

应用示例


下面通过一个实际的例子来演示条件语句和循环语句的应用:

# 计算 1 到 10 的所有偶数的和
total = 0
for i in range(1, 11):
    if i % 2 == 0:
        total += i
print("1 到 10 的所有偶数的和为:", total)

image.gif

在上面的代码中,我们使用了 for 循环遍历 1 到 10 的数字,然后通过 if 条件语句判断每个数字是否为偶数,如果是偶数则累加到 total 变量中。最终输出了所有偶数的和。

实战示例:在二维列表中查找特定元素的位置并进行操作

  1. 创建一个二维列表:首先,我们创建一个包含多个子列表的二维列表,模拟一个二维数组。
  2. 循环嵌套遍历二维列表:我们使用两层循环嵌套来遍历二维列表中的每个元素。
  3. 条件判断嵌套查找特定元素:对于每个元素,我们使用条件语句判断是否为目标元素。
  4. 结合 break 和 continue 使用:根据条件判断的结果,我们可以使用 break 跳出当前循环或者使用 continue 继续下一次循环。
  5. 操作目标元素:找到目标元素后,可以进行相应的操作。

下面是完整的示例代码:

# 创建一个二维列表
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]
# 目标元素
target = 5
# 遍历二维列表
for i in range(len(matrix)):
    for j in range(len(matrix[i])):
        # 判断是否为目标元素
        if matrix[i][j] == target:
            print(f"找到目标元素 {target},位置为 ({i}, {j})")
            # 进行操作,这里假设找到目标元素后打印提示信息
            # 在这里可以添加其他操作
            # 结束循环
            break
    else:
        # 若内层循环未找到目标元素,继续外层循环
        continue
    # 若找到目标元素,跳出外层循环
    break

image.gif

在这个示例中,我们首先创建了一个二维列表 matrix,然后使用两层循环嵌套来遍历每个元素。对于每个元素,我们判断是否为目标元素 target,如果是,则打印出目标元素的位置,并假设在这里进行了某种操作。通过结合循环嵌套、条件判断嵌套以及 break 和 continue 的使用,我们可以处理更加复杂的逻辑情况。

目录
相关文章
|
2天前
|
机器学习/深度学习 数据处理 Python
SciPy 教程 之 SciPy 空间数据 4
本教程介绍了SciPy的空间数据处理功能,主要通过scipy.spatial模块实现。内容涵盖空间数据的基本概念、距离矩阵的定义及其在生物信息学中的应用,以及如何计算欧几里得距离。示例代码展示了如何使用SciPy计算两点间的欧几里得距离。
15 5
|
1天前
|
机器学习/深度学习 Python
SciPy 教程 之 SciPy 空间数据 6
本教程介绍了SciPy处理空间数据的方法,包括使用scipy.spatial模块进行点位置判断、最近点计算等内容。还详细讲解了距离矩阵的概念及其应用,如在生物信息学中表示蛋白质结构等。最后,通过实例演示了如何计算两点间的余弦距离。
9 3
|
4天前
|
Python
SciPy 教程 之 SciPy 图结构 7
《SciPy 教程 之 SciPy 图结构 7》介绍了 SciPy 中处理图结构的方法。图是由节点和边组成的集合,用于表示对象及其之间的关系。scipy.sparse.csgraph 模块提供了多种图处理功能,如 `breadth_first_order()` 方法可按广度优先顺序遍历图。示例代码展示了如何使用该方法从给定的邻接矩阵中获取广度优先遍历的顺序。
14 2
|
5天前
|
算法 Python
SciPy 教程 之 SciPy 图结构 5
SciPy 图结构教程,介绍图的基本概念和SciPy中处理图结构的模块scipy.sparse.csgraph。重点讲解贝尔曼-福特算法,用于求解任意两点间最短路径,支持有向图和负权边。通过示例演示如何使用bellman_ford()方法计算最短路径。
14 3
|
5天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
14 1
|
6天前
|
算法 索引 Python
SciPy 教程 之 SciPy 图结构 3
SciPy 图结构教程:介绍图的基本概念、节点和边的定义,以及如何使用 SciPy 的 `scipy.sparse.csgraph` 模块处理图结构。重点讲解 Dijkstra 最短路径算法及其在 SciPy 中的应用,包括 `dijkstra()` 方法的参数设置和使用示例。
10 0
|
6天前
|
Python
SciPy 教程 之 SciPy 图结构 2
《SciPy 教程 之 SciPy 图结构 2》介绍了图结构作为算法学中的重要框架,通过 `scipy.sparse.csgraph` 模块处理图结构。文章示例展示了如何使用 `connected_components()` 方法查找所有连接组件,通过创建稀疏矩阵并调用该方法实现。
8 0
|
1月前
|
数据可视化 IDE 开发工具
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
【Python篇】PyQt5 超详细教程——由入门到精通(中篇二)
218 13
|
1月前
|
监控 数据可视化 搜索推荐
【Python篇】matplotlib超详细教程-由入门到精通(下篇)2
【Python篇】matplotlib超详细教程-由入门到精通(下篇)
32 8
|
1月前
|
数据可视化 API 数据处理
【Python篇】matplotlib超详细教程-由入门到精通(上篇)
【Python篇】matplotlib超详细教程-由入门到精通(上篇)
74 5
下一篇
无影云桌面