news 2026/10/15 21:29:20

和小马一起学Python(四)——if、while、for、break continue、else语句

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
和小马一起学Python(四)——if、while、for、break continue、else语句

01.if语句

1.1简单的if语句

判断,是我们日常生活中不可或缺的一部分,它涉及对信息的评估以决定"是"或"否”、"对“或”错"等结果。比如,在登录QQ账号时,系统会根据输入的账号和密码进行匹配判断,只有两者完全匹配,用户才能成功登录并享受后续的服务,如给好友发送信息等。同样,在进入某些娱乐场所时,工作人员会判断顾客是否达到法定成年年龄,以确保场所的合法运营和顾客的安全。这些场景都展示了判断在现实生活中的应用。而在Python程序中,为了实现判断和选择逻辑,我们主要使用if语句。这个语句允许我们基于特定条件来决定是否执行某段代码,从而简化程序的逻辑控制,使程序更加智能化和灵活。简而言之,if语句是Python中实现条件判断的关键工具。

基本格式:

if 条件表达式:

条件成立执行的代码块

# 需求:检查温度是否高于20度,如果满足条件则输出穿衣条件 temperature = 32 if temperature > 20: print("天气较热,请穿较为凉爽的衣物!")

1.2运算符

1.2.1 比较运算符

Python中的比较运算符用于比较两个值或表达式之间的关系,并根据比较结果返回布尔值True或False。

运算符示例说明
==a == b如果两边的值相等,则返回True,否则返回False
!=a != b如果两边的值不相等,则返回True,否则返回False
>a > b如果左边的值大于右边的值,则返回True,否则返回False
>=a >= b如果左边的值大于或等于右边的值,则返回True,否则返回False
<a < b如果左边的值小于右边的值,则返回True,否则返回False
<=a <= b如果左边的值小于或等于右边的值,则返回True,否则返回False
# == print(1 == 1) # True print(3 == 5) # False print("xiaoma" == "xiaoma") # True print("xiaoma" == "dama") # False # != print(1 != 1) # False print(3 != 5) # True print("xiaoma" != "xiaoma") # False print("xiaoma" != "dama") # True # > print(1 > 3) # False print(3 > 1) # True # < print(1 < 3) # True print(3 < 1) # False # >= print(3 >= 1) # True print(3 >= 3) # True print(1 >= 3) # False # <= print(3 <= 1) # False print(3 <= 3) # True print(1 <= 3) # True

1.2.2逻辑运算符

通过使用逻辑运算符,开发者可以将多个条件表达式组合起来,形成复杂的条件判断语句。这些语句能够精确地描述程序在不同条件下的行为,确保在满足特定条件时执行相应的代码块,而在不满足条件时则跳过这些代码块或执行其他备选路径。

运算符示例说明
anda and b当所有条件都为True时,整个表达式的结果才为True;否则为False。
ora or b只要其中一个条件为True时,整个表达式的结果就为True;否则为False。
notnot a用于反转条件的结果。如果条件为True,则结果为False;如果条件为False,则结果为True。
# and print(True and True) # True print(False and True) # False print(True and False) # False print(False and False) # False # 需求:定义三个变量x, y, z,并检查这三个变量是否都为正数,满足条件则输出语句。 x = 1 y = 2 z = 3 if (x > 0 and y > 0 and z > 0): print(f"变量x,y,z均为正数,且分别为:x = {x}; y = {y}; z = {z}") # or print(True or True) # True print(False or True) # True print(True or False) #True print(False or False) # False # 需求:定义三个变量x, y, z,并检查这三个变量中是否至少有一个是正数,满足条件则输出语句。 x = 1 y = -2 z = -3 if x > 0 or y > 0 or z > 0: print(f"变量x,y,z中是否至少有一个是正数,且分别为:x = {x}; y = {y}; z = {z}") # not print(not True) # False print(not False) # True # 需求:定义一个变量x,检查他是否不等于10 x = 5 if not x == 10: print("x不等于10") # x不等于10

注意:在Python中,一个数据既不为零(包括任何形式的零,如整数0、浮点数0.0、复数0+0j),也不为空(如空字符串""、空列表[]、空字典{}、空集合set()等),那么当它被用作条件表达式时,Python会将其视为True。

x = 5 y = 0.0 str = "xiaoma" if x: print(f"{x}为True") if y: print(f"{y}为False") if str: print(f"{str}为True")

在Python中,逻辑运算符and、or都具有短路行为。这意味着在评估逻辑表达式时,如果表达式的值已经能够确定(即不需要进一步评估其他部分),那么Python就会停止进一步的评估。这种机制提高了代码的效率,并允许编写更安全的代码,特别是在涉及到可能抛出异常或具有副作用(如修改状态)的表达式时。

  • and运算符:如果第一个操作数据为False,则整个表达式的结果立即确定为False,Python不会评估第二个操作数据。
  • or运算符:如果第一个操作数据为True,则整个表达式的结果立即确定为True,Python不会评估第二个操作数据。
# and运算符 print(0 and 0) # 0 print(0 and 1) # 0 print(1 and 0) # 0 print(1 and 1) # 1 print(1 and 2) # 2 print(2 and 1) # 1 # or print(0 or 0) # 0 print(0 or 1) # 1 print(1 or 0) # 1 print(1 or 1) # 1 print(1 or 2) # 1 print(2 or 1) # 2

1.3if-else结构

1.3.1 if-else结构

在Python中,if-else语句用于根据条件表达式的真假来执行不同的代码块。如果条件为真(True),则执行if下的代码块;如果条件为假(False),则执行else下的代码块。

基本格式:

if 条件表达式:

条件成立执行的代码块

else:

条件不成立执行的代码块

# 需求:检查一个人的年龄并根据其是否成年来输出相应的消息 age = 35 if age >= 18: print("你已经成年了!") else: print("你还未成年!")
# 需求:检查是否下雨,并根据结果输出相应的建议 is_raining = True # is_raining= False if is_raining: print("出门记得带伞!") else: print("出门无需带伞哦!")

1.3.2 三元表达式

通过允许在一行代码中完成条件判断和值的选择,显著减少了需要编写的代码量。这种简洁性使得代码更加紧凑,减少了冗余,并且提高了可读性(在适当的情况下)。当处理简单的条件逻辑时,使用三元表达式可以使代码更加清晰明了。

基本格式:

为真结果 if 条件表达式 else 为假结果

age = 16 print("你已经成年了!") if age >= 18 else print("你还未成年!")

1.3.3 if-elif语句

在Python中,if-else结构用于在两种可能的情况中进行选择(二选一),而if-elif结构则允许在多个条件中进行选择,只有第一个满足条件的分支会被执行(多选一)。

基本格式:

if 条件表达式1:

条件1成立执行代码块

elif 条件表达式2:

条件2成立执行代码块

elif 条件表达式3:

条件3成立执行代码块

......

# 需求:检查天气情况,并根据结果输出相应的穿衣建议 weather = "rainy" if weather == "sunny": print("今天阳光明媚,建议穿短衣短裤") elif weather == "cloudy": print("今天多云,建议穿轻便的外套和长裤") elif weather == "rainy": print("今天下雨,请记得带伞,并穿上防水的外套和鞋子") elif weather == "snowy": print("今天下雪,请注意防寒保暖")

1.3.4 if-elif-else语句

if-elif-else结构按顺序在多个条件中逐一检查,一旦某个条件满足(即为True),则立即执行该条件下对应的代码块,并跳过所有后续的elif和ese及其对应的代码块。如果所有条件都不满足,则执行else下的代码块。

基本格式:

if 条件表达式1:

条件1成立执行代码块

elif 条件表达式2:

条件2成立执行代码块

elif 条件表达式3:

条件3成立执行代码块

......

else:

所有条件都不成立执行的代码块

# 需求:检查天气情况,并根据结果输出相应的穿衣建议 weather = "wet" if weather == "sunny": print("今天阳光明媚,建议穿短衣短裤") elif weather == "cloudy": print("今天多云,建议穿轻便的外套和长裤") elif weather == "rainy": print("今天下雨,请记得带伞,并穿上防水的外套和鞋子") elif weather == "snowy": print("今天下雪,请注意防寒保暖") else: print("今天的天气情况不在预设的范围内,请根据实际情况选择合适的衣物!")

1.5 if嵌套

指在一个if语句的代码块内部再包含另一个或多个if语句。

# 需求:检查学生的成绩和出勤率以决定其是否获得奖学金 score = 98 attendance = 100 if 90 <= score <= 100: if 90 <= attendance <= 100: print("该学生可获得奖学金!") elif 0 <= attendance < 90: print("该学生出勤率未达标") else: print("该学生出勤率数据有误") elif 0 <= score < 90: print("该学生成绩未达标") else: print("该学生成绩数据有误")

02 while循环

日常生活中,我们经常碰到需要一步步完成的事情,比如搭积木建高楼,得一块一块地往上搭建。还有些事情,得一直不停地做,比如公交车和地铁,它们每天不停地在起点和终点之间跑来跑去,为人们提供便利的交通。这种持续重复做同一件事情的情况,我们称之为"循环"。简单来说,循环就是重复做某件事情。

2.1 while循环语法

while循环是一种基本的循环控制结构,它允许程序在满足特定条件时重复执行一段代码块。这个条件在每次循环开始前都会进行评估,如果条件为真(True),则执行循环体内的语句;如果条件为假(False),则退出循环,继续执行while循环之后的代码。

基本格式:

while 条件表达式:

循环体(重复执行的代码块)

# 需求:输出5次"Hello World!" count = 1 while count <= 5: print("Hello World!") count += 1
# 需求:计算1-100的值 sum = 0 # 总和的值 num = 1 # 保存起始值 while num <= 100: sum += num num += 1 print(f"1-100的总和为{sum}")

2.2 while循环嵌套

基本格式:

while 外层循环条件:

外层循环体

while 内层循环条件:

内层循环体

# 需求:使用while循环输出一个3排6列的座位表 i = 1 # 排数 while i <= 3: j = 1 # 列数 while j <= 6: print(f"第{i}排第{j}列", end = '\t') j += 1 print("\n") i += 1
# 需求:九九乘法表 i = 1 while i <= 9: j = 1 while j <= i: print(f"{i} * {j} = {i *j}", end = "\t") j += 1 i += 1 print("\n")

03 for 循环

for循环是Python中用于遍历可迭代对象(如列表、元组、字符串、字典等)中每个元素的循环结构。当知道需要重复执行的次数,或者需要按顺序访问序列中的每个元素时,for循环是非常有用的。

基本格式:

for 变量 in 可迭代对象:

循环体(重复执行的代码块)

str = "xiaoma" for i in str: print(i)

3.1 range函数

range函数是Python里面一个非常实用的"小工具",它可以帮助我们快速"数"出一串数字来。这些数字是连续的,比如从1数到5,或者从10数到20。虽然它数出来的数字不是直接摆在你面前的,但它就像是一个“数字生产机”,当你需要用到这些数字的时候,比如在for循环里面一个个地处理它们时,range函数就会一个接一个地"吐"出这些数字来。简单来说,range函数是Python中的一个内置函数,它用于生成一个数字序列。这个序列通常用于for循环中,以便对序列中的每个数字执行某些操作。

基本格式:

range(start, stop[,step])

start:指定计数的起始值。可以省略,如果省略则从0开始。

stop:指定计数的结束值(但不包括该值)。不能省略。

step:指定步长,即两个值之间的间隔。可以省略,如果省略则表示步长为1。

for i in range(1,10): print(i, end = " ") print("\n") for i in range(1, 10, 3): print(i, end = " ") print("\n") for i in range(10): print(i, end = " ") print("\n")

3.2 示例

3.2.1 示例一:计算1-100的和

# 使用for循环遍历从1到100 sum = 0 for i in range(1, 101): # 计数的结束值(但不包括该值),所以应为101 sum += i print(f"1-100的总和为{sum}")

3.2.2 示例二:输出一个3排6列的座位表

# 需求:使用for循环输出一个3排6列的座位表 i = 1 for i in range(1, 4): j = 1 for j in range(1, 7): print(f"第{i}排第{j}列", end = "\t") print("\n")

3.2.3 示例三:九九乘法表

# 需求:使用for循环输出九九乘法表 i = 1 for i in range(1, 10): j = 1 for j in range(1, i + 1): print(f"{i} * {j} = {i * j}", end = "\t") print("\n")

04. break & continue

break和continue是Python中专门用于控制循环流程的关键字。

注意:break和continue是Python中专门用于控制循环流程的关键字。它们必须在循环结构(如for循环或while循环)内部使用,并且经常与if语句联合,以便在满足特定条件时分别退出循环或跳过当前本次循环的剩余部分。然而,这两个关键字不能脱离循环结构,在单独的if语句(即不在循环体内的if语句)中直接使用

4.1 示例

一共吃5个苹果,吃完第1个,吃第2个....这里"吃苹果"的动作是不是重复执行?

# 情况一:如果吃的过程中,吃完第3个吃饱了,则不需要再吃第4个和第5个苹果,即吃苹果的动作停止,这里就是break 控制循环流程,即终止此循环。 for i in range(1,6): print(f"吃了第{i}个苹果") if i == 3: print("吃饱了,不吃了!") break
# 情况二:如果吃的过程中,吃到第3个吃出一个大虫子...是不是这个苹果就不吃了,开始吃第4个苹果,这里就是continue控制循环流程,即退出当前本次循环继而执行下一次循环代码。 for i in range(1, 6): if i == 3: continue # 当i等于3时,跳过当前本次循环的剩余部分,既不执行下面的print语句 print(f"吃了第{i}个苹果")

05. else语句

在Python中,for循环和while循环都可以与else语句结合使用。这种结构允许你指定一段代码,该代码在循环正常结束时(即没有通过break语句提前退出)执行。

5.1 while...else语句

基本格式:

while 条件表达式:

循环体(重复执行的代码块)

else:

循环正常结束后要执行的代码块

(1)如果循环正常结束(未被break语句中断循环),则执行else部分代码

count = 1 while count <= 5: print(f"这是第{count}次循环") count += 1 else: print("循环正常结束!")

(2)如果循环被break语句中断,则不会执行else部分代码

count = 1 while count <= 5: if count == 3: break print(f"这是第{count}次循环") count += 1 else: print("循环正常结束!")

5.2 for...else语句

(1)如果循环正常结束(未被break语句中断循环),则执行else部分代码

for count in range(1, 6): print(f"这是第{count}次循环") else: print("循环正常结束!")

(2)如果循环被break语句中断,则不会执行else部分代码

for count in range(1, 6): if count == 3: break print(f"这是第{count}次循环") else: print("循环正常结束!")

声明:本文为个人学习笔记(有自己的理解和思考),旨在与大家交流学习。笔记内容整理自B站UP主「哔哩 Python 学习社」的视频教程《如何逼自己一周学会〈Python〉》,非本人原创。如有内容错误,欢迎各位指正讨论。尊重原创,感谢UP主的分享。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 21:28:50

RL做模型后训练优化调研

RL目标 目标典型反馈偏好与行为对齐人类偏好、奖励模型、AI评价推理和解题能力增强标准答案、测试程序、形式验证器多步任务和智能体任务增强环境状态、任务成功率、过程反馈 研究方向 1.奖励设计 传统&#xff1a; RLHF&#xff1a;用人类偏好训练奖励模型&#xff0c;成本…

作者头像 李华
网站建设 2026/10/15 21:25:29

VirtualBox 7.x以上版本安装报Invalid installation directory问题解决

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/15 21:23:26

数字图像处理中的表示与描述:从像素到可识别对象的完整指南

1. 从“像素堆”到“可理解对象”&#xff1a;表示与描述到底在解决什么问题很多人学数字图像处理&#xff0c;前面几章做滤波、边缘检测、阈值分割&#xff0c;跑出来的结果是一张二值图或者一堆边缘点&#xff0c;看起来挺像那么回事。但一旦要回答“图里有几个目标”“每个目…

作者头像 李华
网站建设 2026/10/15 21:21:39

高效学习追踪系统:从碎片化到体系化的工程实践

1. 项目背景与核心价值去年辅导一位机械专业转前端的学员时&#xff0c;他问我&#xff1a;"每天看那么多教程&#xff0c;为什么还是写不出代码&#xff1f;"这个问题让我意识到&#xff0c;非科班学习者最需要的不是更多资源&#xff0c;而是一套可执行的学习追踪系…

作者头像 李华
网站建设 2026/10/15 21:18:25

华为OD机考100题含答案:从刷题到考场稳定发挥的完整指南

简介&#xff1a;这份华为OD机考100题&#xff08;含答案&#xff09;docx文档&#xff0c;面向具备一定编程基础、正在准备华为OD机考或同类技术认证的开发者&#xff0c;帮助其系统熟悉机考题型与考察重点。文档精选100道经典真题&#xff0c;涵盖【5键键盘的输出】【N进制减…

作者头像 李华
网站建设 2026/10/15 21:17:21

C语言:函数与参数传递

一、什么是函数&#xff1f;计算机为了减少重复写代码的痛苦&#xff0c;更方便人们将一些特殊的使用频率较高的代码进行使用&#xff0c;创造出了函数&#xff0c;我们只需要将其用特定的方法封装&#xff0c;在使用时就不需要关注实现的细节 &#xff0c;直接当做公式直接使用…

作者头像 李华