Python条件分支与循环

        大家好,当涉及到编写高效和灵活的程序时,条件分支和循环是 Python 中至关重要的概念。它们允许我们根据不同的条件执行不同的代码块,或者重复执行一组语句。条件分支和循环是测试开发工程师在日常工作中经常使用的工具,无论是编写自动化测试脚本、处理测试数据还是构建测试框架,都离不开这些关键概念。

        在本文中,我们将探索 Python 中条件分支和循环的基本知识和用法。我们将了解条件语句如何根据条件的真假来选择性地执行代码。我们还将深入研究不同类型的循环结构,包括 for 循环和 while 循环,以及它们的灵活性和适用场景。

一、条件分支

        Python 的条件分支是一种编程结构,用于根据给定的条件选择性地执行不同的代码块。条件分支语句允许程序根据条件的真假来决定执行哪些代码。

        Python 中的条件分支主要使用 ifelif 和 else 语句来实现。条件分支允许根据给定的条件选择性地执行不同的代码块。下面我将详细介绍 Python 的条件分支语句。

1、if语句

if 语句用于执行一个代码块,当给定条件为真时执行。它的基本语法如下:

if 条件:# 执行的代码块

如果条件为真,则执行代码块;否则,跳过该代码块。

以下是一个使用 if 语句的示例:

x = 10
if x > 0:print("x 是正数")

在这个例子中,如果 x 的值大于 0,则会执行 print("x 是正数") 这行代码。

2、if-else 语句

if-else 语句用于根据条件的真假执行不同的代码块。它的基本语法如下:

if 条件:# 条件为真时执行的代码块
else:# 条件为假时执行的代码块

如果条件为真,则执行第一个代码块;否则,执行 else 后面的代码块。

以下是一个使用 if-else 语句的示例:

x = 10
if x > 0:print("x 是正数")
else:print("x 是非正数")

        在这个例子中,如果 x 的值大于 0,则会执行 print("x 是正数") 这行代码;否则,执行 print("x 是非正数")

3、if-elif-else 语句

if-elif-else 语句用于在多个条件之间进行选择。它的基本语法如下:

if 条件1:# 条件1为真时执行的代码块
elif 条件2:# 条件2为真时执行的代码块
elif 条件3:# 条件3为真时执行的代码块
...
else:# 所有条件均为假时执行的代码块

        根据条件的真假,依次检查每个条件,并执行第一个满足条件的代码块。如果所有条件均为假,则执行 else 后面的代码块。

以下是一个使用 if-elif-else 语句的示例:

x = 10
if x > 0:print("x 是正数")
elif x < 0:print("x 是负数")
else:print("x 是零")

在这个例子中,根据 x 的值,将会执行相应的代码块。

二、循环

        Python 中的循环是一种重复执行特定代码块的控制结构。循环使得我们能够有效地处理重复性任务,遍历数据集合或根据条件执行特定操作。

Python 提供了两种主要类型的循环:while 循环和 for 循环。

1、for循环

        在 Python 中,for 循环是一种用于遍历序列(如列表、字符串、元组等)或其他可迭代对象的循环结构。它允许我们逐个访问序列中的元素,并针对每个元素执行特定的代码块。下面我将详细介绍 Python 中的 for 循环。

for 循环的基本语法如下:

for 变量 in 序列:# 执行的代码块

        在每次迭代中,变量会被赋值为序列中的下一个元素,然后执行代码块,直到遍历完所有元素为止。

以下是一个使用 for 循环的示例,遍历并打印列表中的元素:

fruits = ["apple", "banana", "orange"]
for fruit in fruits:print(fruit)

        在这个例子中,for 循环遍历了列表 fruits 中的每个元素。在每次迭代中,当前元素会被赋值给变量 fruit,然后执行代码块,打印出水果的名称。

除了列表,for 循环还可以遍历其他类型的序列,如字符串、元组等。例如:

string = "Hello"
for char in string:print(char)

在这个例子中,for 循环遍历了字符串 "Hello" 中的每个字符,并打印出字符。

此外,for 循环还可以与内置函数 range() 结合使用,用于生成一系列数字。例如:

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

        在这个例子中,range(5) 生成了一个从 0 到 4 的数字序列。for 循环遍历该序列中的每个数字,并打印出数字。

        在 for 循环中,我们还可以使用 break 语句来提前结束循环,以及 continue 语句来跳过当前迭代,继续下一次迭代。这些控制流程语句可以帮助我们对循环进行更精确的控制。

2、breakcontinue 

break 语句

    break 语句用于立即终止当前所在的循环,不再执行循环中剩余的代码,并跳出循环体,继续执行循环后面的代码。它常用于在满足某个条件时提前结束循环。以下是 break 语句的使用示例:

for i in range(5):if i == 3:breakprint(i)

        在这个例子中,for 循环遍历了数字序列 range(5) 中的每个数字。当 i 的值等于 3 时,执行 break 语句,终止循环。因此,只会打印出数字 0、1、2。

continue 语句

    continue 语句用于跳过当前迭代中剩余的代码,直接进入下一次迭代。在遇到 continue 语句时,循环会立即跳到下一次迭代,而不再执行本次迭代剩余的代码。以下是 continue 语句的使用示例:

for i in range(5):if i == 2:continueprint(i)

        在这个例子中,for 循环遍历了数字序列 range(5) 中的每个数字。当 i 的值等于 2 时,执行 continue 语句,跳过本次迭代中的剩余代码。因此,不会打印出数字 2,而是继续执行下一次迭代,打印出其他数字。

    break 和 continue 语句通常与条件判断结合使用,以根据特定的条件来决定是否终止循环或跳过当前迭代。它们为我们提供了更灵活的控制循环流程的方式,使我们能够根据需要对循环进行精确的控制。

        需要注意的是,break 和 continue 语句在嵌套循环中的行为可能会受到影响。break 语句会结束当前所在的最内层循环,并开始执行下一条语句。而 continue 语句会跳过当前所在的最内层循环的剩余代码,继续下一次最内层循环的迭代。

        总结来说,break 语句用于提前结束循环,而 continue 语句用于跳过当前迭代,继续下一次迭代。这两个语句为我们提供了更多的控制循环执行流程的能力,使我们能够根据具体需求对循环进行精确的控制。

3、while循环

        在 Python 中,while 循环是一种根据条件判断来重复执行代码块的循环结构。只要给定的条件为真(True),循环就会一直执行,直到条件变为假(False)。下面我将详细介绍 Python 中的 while 循环。

while 循环的基本语法如下:

while 条件:# 执行的代码块

        在每次迭代中,首先会对条件进行判断。如果条件为真,则执行代码块;然后再次对条件进行判断,以此类推,直到条件为假,循环结束。

以下是一个使用 while 循环的示例,打印数字 0 到 4:

count = 0
while count < 5:print(count)count += 1

        在这个例子中,count 的初始值为 0。循环首先检查条件 count < 5,由于条件为真,执行代码块,打印出 count 的值。然后 count 的值递增,再次进行条件检查,直到 count 的值达到 5 时,循环结束。

需要注意的是,如果条件一开始就为假,那么循环内的代码块将不会执行,循环直接跳过。

        在 while 循环中,我们可以使用 break 语句来提前结束循环,以及 continue 语句来跳过当前迭代,继续下一次迭代,与 for 循环中的用法相似。

以下是一个使用 while 循环和 break 语句的示例,寻找列表中的特定元素:

fruits = ["apple", "banana", "orange", "pear"]
index = 0
while index < len(fruits):if fruits[index] == "orange":print("找到了橙子!")breakindex += 1
else:print("未找到橙子!")

        在这个例子中,循环遍历列表 fruits 中的元素,当找到值为 "orange" 的元素时,执行 break 语句,提前结束循环。如果循环正常结束而没有执行 break,则执行 else 语句块,打印出 "未找到橙子!"。

        当使用 while 循环结合 continue 语句时,可以通过跳过某些迭代来控制循环的执行流程。以下是一个使用 while 循环和 continue 语句的示例,计算列表中的奇数之和:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
sum_odd = 0
index = 0while index < len(numbers):if numbers[index] % 2 == 0:index += 1continuesum_odd += numbers[index]index += 1print("奇数之和:", sum_odd)

        在这个例子中,while 循环遍历列表 numbers 中的元素。如果当前元素是偶数,即 numbers[index] % 2 == 0 条件为真,那么执行 continue 语句,跳过当前迭代,继续下一次迭代。这样可以确保只有奇数被累加到 sum_odd 变量中。在每次迭代中,如果当前元素是奇数,那么将其加到 sum_odd 中。然后 index 递增,继续下一次迭代。最终,打印出累加得到的奇数之和。

        在这个例子中,continue 语句帮助我们跳过偶数,只对奇数执行特定的操作。通过使用 continue,我们可以更精确地控制循环的执行流程,以满足特定的需求。

    while 循环也需要谨慎使用,因为如果条件一直为真,循环可能会陷入无限循环的状态,导致程序无法继续执行。因此,我们需要确保条件在循环执行过程中最终会变为假,或者使用 break 语句来提前结束循环。

        总结来说,Python 的 while 循环允许我们根据条件判断重复执行代码块,直到条件为假。它是处理重复性任务和根据条件执行特定操作的重要工具之一。同时,我们可以使用 break 和 continue 语句来对循环进行更精确的控制。

4、循环嵌套

while与for嵌套

当需要在一个循环内嵌套另一个循环时,我们可以将 for 循环和 while 循环结合使用。

以下是一个同时包含 for 循环和 while 循环的例子,用于输出九九乘法表:

for i in range(1, 10):j = 1while j <= i:print(f"{j} × {i} = {j * i}", end="\t")j += 1print()

        在这个例子中,外层的 for 循环用于控制被乘数 i,取值范围是 1 到 9。对于每个 i 的值,我们使用内层的 while 循环来生成乘法表的一行。内层的 while 循环中,初始时将乘数 j 设为 1。在每次循环中,我们打印出当前的乘法表项,并将 j 递增,直到 j 的值大于等于 i,然后换行。

        通过将 for 循环和 while 循环结合使用,我们可以生成完整的九九乘法表。这个例子展示了如何在一个循环内嵌套另一个循环,并且同时使用了 for 循环和 while 循环,以实现特定的功能。这种循环嵌套的结构可以在需要处理多维数据或复杂的迭代逻辑时非常有用。

while与while嵌套

以下是一个使用 while 循环嵌套 while 循环的例子,用于打印一个矩形图案:

rows = 5
columns = 8
i = 0while i < rows:j = 0while j < columns:print("*", end=" ")j += 1print()i += 1

        在这个例子中,外层的 while 循环用于控制打印的行数,变量 i 从 0 开始,每次递增 1,直到达到指定的行数 rows。在内层的 while 循环中,我们打印星号 * 字符,控制打印的列数。变量 j 从 0 开始,每次递增 1,直到达到指定的列数 columns

运行此代码将输出如下的矩形图案:

for与for嵌套

以下是一个使用 for 循环嵌套 for 循环的例子,用于输出九九乘法表:

for i in range(1, 10):for j in range(1, 10):print(f"{j} × {i} = {j * i}", end="\t")print()

        在这个例子中,外层的 for 循环用于控制被乘数 i,取值范围是 1 到 9。对于每个 i 的值,内层的 for 循环用于控制乘数 j,也取值范围是 1 到 9。在内层的 for 循环中,我们打印出当前的乘法表项,并使用制表符 \t 分隔每个项。

运行此代码将输出如下的九九乘法表:

5、使用循环的注意事项

在使用 Python 循环时,有几个方面需要注意:

  • 循环条件:确保循环条件正确,并且能够在循环执行过程中最终变为假。否则,循环可能会陷入无限循环的状态,导致程序无法继续执行。

  • 循环变量的更新:在循环体内,确保更新循环变量的值,以便在每次迭代中逐步改变条件,使循环能够最终结束。

  • 循环控制语句的正确使用:了解并正确使用循环控制语句,如 break 和 continuebreak 用于提前结束循环,而 continue 用于跳过当前迭代,继续下一次迭代。

  • 避免无限循环:确保循环的终止条件被满足,避免无限循环。如果循环意外陷入无限循环,可以使用 Ctrl+C 组合键终止程序的执行。

  • 循环效率:在迭代大量数据或执行复杂操作的情况下,要考虑循环的效率。避免在循环内部执行过多的重复计算或频繁的 I/O 操作,可以通过优化算法或缓存结果来提高循环效率。

  • 循环嵌套:当在一个循环内嵌套另一个循环时,要确保内层循环的执行条件和控制正确,避免出现逻辑错误或死循环。

  • 循环的可读性和可维护性:编写清晰、易读的循环代码,使用有意义的变量名和注释来解释循环的目的和逻辑。避免过长的循环体和复杂的嵌套结构,可以考虑将复杂的逻辑拆分成更小的函数或模块。

  • 选择合适的循环类型:Python 提供了多种循环类型,如 for 循环、while 循环和列表推导式等。根据具体的需求和情况选择合适的循环类型,以及使用适当的迭代工具和技巧,可以简化代码并提高效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/334358.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

易备数据备份软件:从 .VMDK 文件中对虚拟机进行文件级别的恢复

VMDK 是 VMware 创建的开放式的文件格式&#xff0c;主要用于云计算和虚拟化服务。从基本上讲&#xff0c;.vmdk 文件是虚拟磁盘&#xff0c;其中包含 VMware 虚拟机的所有信息。 可以使用多种应用&#xff08;Winzip、7zip 等&#xff0c;当然也可以使用易备数据备份软件&…

clickhouse——ck目录介绍

一、ck目录 1、/etc/clickhouse-server: 服务端的配置文件目录&#xff0c;包括全局配置config.xml和用户配置users.xml等。 2、/var/lib/clickhouse 默认的数据存储目录&#xff08;通常会修改默认路径配置&#xff0c;将数据保存到大容量磁盘挂载的路径&#xff09; 3、/var…

同时安装python2 和python3

最近的项目因为工具的原因 需要同时安装python2 和python3 我又想学着使用python 写东西 导致遇到了很多问题 记录下来 1 同时安装 python2 和python 1.1 安装完把/确认 Path 环境变量里 同时有python2,python2\Scripts和python3 ,python3\Scripts四个环境变量 修改python3…

利用预测大模型完成办公室饮水机剩余热水量

背景 在每天上班的时候&#xff0c;很多同事都有喝热水的习惯&#xff0c;但是饮水机内的热水量总是比较少的&#xff0c;如何避免等待&#xff0c;高效的接到热水是我接下来要做的事情的动机。 理论基础 在大量真实数据的情况下&#xff0c;可以分析出用水紧张的时间段和用水…

扔掉 MacBook,挑战带OrangePi出差!

背景 由于工作需要&#xff0c;博主经常会到各大企业的自建机房中私有化部署公司的软件产品。 在某些企业自建机房中&#xff0c;有时给到全新的机器&#xff0c;没有基础环境&#xff0c;甚至有的还无法互联网&#xff0c;而且因为近几年CentOS的停止更新&#xff0c;服务器…

【UE C++】 虚幻引擎C++开发需要掌握的C++和U++的基础知识有哪些?

目录 0 引言1 关键的 C 知识2 Unreal Engine 相关知识3 学习建议 &#x1f64b;‍♂️ 作者&#xff1a;海码007&#x1f4dc; 专栏&#xff1a;UE虚幻引擎专栏&#x1f4a5; 标题&#xff1a;【UE C】 虚幻引擎C开发需要掌握的C和U的基础知识有哪些&#xff1f;❣️ 寄语&…

01 一文理解,Prometheus详细介绍

01 一文理解&#xff0c;Prometheus详细介绍 介绍 大家好&#xff0c;我是秋意零。 Prometheus 是一个开源的系统监控和报警工具包&#xff0c;最初由SoundCloud开发&#xff0c;并在2012年作为开源项目发布。Prometheus 目前由Cloud Native Computing Foundation&#xff08…

58. UE5 RPG AI行为树的装饰器

书接56. UE5 RPG 给敌人添加AI实现跟随玩家&#xff0c;我们实现了AI一些基础设置&#xff0c;并实现了获取敌人附近的玩家实现了跟随功能 接下来&#xff0c;我们将实现区分职业&#xff0c;并根据职业不同设置不同的攻击距离&#xff0c;并且根据职业实现不同的技能施放。 …

VSCODE中F12无法跳转,快捷键设置F12和insert混淆了

异常现象 最近用新电脑&#xff08;华为&#xff09;的时候&#xff0c;发现VSCODE经常按F12无法跳转&#xff0c;在快捷键设置当中&#xff0c;也是设置成功的&#xff1b; 此时重新去快捷键设置&#xff0c;会发现按 F12变为了Insert 解决方法 华为笔记本的Fx按键&#x…

Euler 欧拉系统介绍

Euler 欧拉系统介绍 1 简介重要节点与版本EulerOS 特色EulerOS 与 openEuler 区别联系Euler 与 HarmonyOS 区别联系 2 openEuler特色支持 ARM&#xff0c;x86&#xff0c;RISC-V 等全部主流通用计算架构融入 AI 生态嵌入式实时能力提升引入 OpenHarmony 一些突出功能 参考 1 简…

23-LINUX--TCP连接状态

一.TCP服务的特点 传输层协议主要有两个&#xff1a;TCP 协议和 UDP协议。TCP 协议相对于UDP协议的特点是&#xff1a;面向连接、字节流和可靠传输。 使用TCP协议通信的双方必须先建立连接&#xff0c;然后才能开始数据的读写。双方都必须为该连接分配必要的内核资源&a…

OpenHarmony 适配HDMI接口声卡

高清多媒体接口&#xff08;High Definition Multimedia Interface&#xff0c;HDMI &#xff09;是一种全数字化视频和声音发送接口&#xff0c;可以发送未压缩的音频及视频信号。HDMI可用于机顶盒、DVD播放机、个人计算机、电视、游戏主机、综合扩大机、数字音响与电视机等设…

windows中每日定时执行python脚本,解决问题

由于需要一个每天定时执行的任务&#xff0c;所以需要定时启动&#xff0c;网上看了很多方法&#xff0c;感觉不能在python脚本种写个while true 定时执行&#xff0c;占资源不说还不可靠。 最后考虑通过系统工具定时启动&#xff0c;发现linux中有crontab&#xff0c;windows…

OpenHarmony实战开发——宿舍全屋智能开发指南

项目说明 基于OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;、数字管家开发宿舍全屋智能&#xff0c;实现碰一碰开门、碰一碰开灯、碰一碰开风扇以及烟感检测。因为各项目开发流程大体相似&#xff0c;本文主要以碰一碰开门为例介绍如何在现有OpenHar…

海信集团携纷享销客启动LTC数字化落地 推动ToB业务再升级

日前&#xff0c;海信集团携手连接型CRM纷享销客正式启动LTC&#xff08;Leads to Cash&#xff09;数字化平台实施落地项目。作为海信集团数字化的重要里程碑&#xff0c;该项目将通过统一规划、统一投资、统一平台、资源共享和数据赋能&#xff0c;构建ToB业务数字化经营管理…

Python代码:十八、生成数字列表

1、描述 牛牛在牛客网系统录入了一连串数字&#xff0c;数字之间依靠逗号隔开&#xff0c;你能帮助他将这些数字存储在列表中吗&#xff0c;列表元素以int的形式。 输入描述&#xff1a; 输入一行整数&#xff0c;数字之间以空格间隔。 输出描述&#xff1a; 输出这些数字…

【基础篇-Day8:JAVA字符串的学习】

目录 1、常用API2、String类2.1 String类的特点2.2 String类的常见构造方法2.3 String类的常见面试题&#xff1a;2.3.1 面试题一&#xff1a;2.3.2 面试题二&#xff1a;2.3.3 面试题三&#xff1a;2.3.4 面试题四&#xff1a; 2.4 String类字符串用于比较的方法2.5 String类字…

5.28_Java语法_运算符,接收键盘数据

1、运算符 具体应用同我C语言操作符详解博客相同,另有补充会直接写 1.1、基本的算术运算符、符号做连接符 CSDN 具体应用同我C语言操作符详解博客相同 符号做连接符&#xff1a; ""符号与字符串运算连用的时候是用作连接符的&#xff0c;其结果依然是一个字符串…

【Java】类和对象

类和类的实例化 类就是一类对象的统称。对象就是这一类具体化的一个实例。 声明一个类就是创建一个新的数据类型&#xff0c;而类在 Java 中属于 引用类型 &#xff0c; Java 使用关键字 class 来声明类。我们来 看以下简单的声明一个类。 基本语法&#xff1a; class &…

3步骤找回丢失文件!EasyRecovery让你轻松应对数据灾难!

EasyRecovery&#xff1a;数据丢失的终结者&#xff0c;您的数字世界守护神 在数字化时代&#xff0c;数据已经成为我们生活的一部分。无论是个人照片、重要文件还是企业资料&#xff0c;数据都扮演着重要的角色。然而&#xff0c;意外删除、格式化、系统崩溃或病毒攻击等原因导…