当前位置: 首页 > news >正文

(0️⃣基础)程序控制语句(初学者)(第3天)

(一)条件判断语句

(1.1)if语句

1.if语句的基本结构:

2.if语句使用形式:

if 条件判断语句:代码2

3.注意事项:

第1点,if是Pvthon中的保留字
第2点,条件判断语句用于判断条件是否满足,可以是条件表达式或判断语句
第3点,条件判断语句后面有一个冒号,切勿忽略
第4点,代码2中至少包含1行代码,且不能和if对齐编写,需要缩进一个级别,默认一个级别为4个空格

4.示例代码和结果:

# 如果 3+2 的结果小于 4*2 的结果,则执行缩进的代码块
if 3 + 2 < 4 * 2:  # 3+2=5 小于 4*2=8,条件为真print("代码2")   # 输出:代码2print("代码2+")  # 输出:代码2+
print("代码3")   # 输出:代码3

 

(1.2)布尔值

布尔值也是一种数据类型,不同于其他数据类型,布尔值数据只有True和False两个值,而条件判断表达式执行后的结果只有两种情况,即满足和不满足,因此可以使用布尔值来表示条件判断表达式的结果

1.示例代码和结果:

print(3+2<4*2)
print(3+2>4*2)

(1.3)if+else语句

if-else 是 Python 中最基础的程序控制语句,用于实现 分支逻辑——根据条件的真假执行不同的代码块,其本质是通过布尔表达式的结果(True/False)决定程序执行路径

1.if+else语句的使用形式:

if <条件表达式>:# 条件为 True 时执行的代码块
else:# 条件为 False 时执行的代码块

2.示例代码和结果:

# 1. 提示用户输入年龄,并把输入的字符串转成整数
a = int(input("请输入您的年龄:"))    # 变量 a 保存年龄
# 2. 多分支判断
if a < 12:                           # 如果年龄小于12print("您是儿童")                # 输出:您是儿童
elif a < 16:                         # 否则,如果年龄小于16print("您是少年")                # 输出:您是少年
else:                                # 否则(年龄 ≥ 16)print("您比少年大")              # 输出:您比少年大

(1.4)if+elif+else语句

if-elif-else 是 Python 中用于实现 多分支条件判断的程序控制语句,其核心作用是根据不同条件的真假状态,选择执行对应的代码块

1.if+elif+else语句的使用形式:

if <条件表达式1>:# 条件1为True时执行的代码块
elif <条件表达式2>:   # 'elif' 是 'else if' 的缩写# 条件1为False且条件2为True时执行
else:# 以上所有条件都为False时执行

2.示例代码和结果:

# 1. 提示用户输入年龄,并把输入的字符串转成整数
a = int(input("请输入您的年龄:"))    # 变量 a 保存年龄
# 2. 多分支判断
if a < 12:                           # 如果年龄小于12print("您是儿童")                # 输出:您是儿童
elif a < 16:                         # 否则,如果年龄小于16print("您是少年")                # 输出:您是少年
else:                                # 否则(年龄 ≥ 16)print("您比少年大")              # 输出:您比少年大

(1.5)多个elif语句

当需要对同一变量进行 多层级联的条件判断 时,可以使用多个 elif 扩展 if-else 结构,其核心作用是通过一系列互斥的条件筛选出唯一匹配的分支执行

1.多个elif语句的使用形式:

if <条件表达式1>:# 条件1为True时执行的代码块
elif <条件表达式2>:   # 'elif' 是 'else if' 的缩写# 条件1为False且条件2为True时执行
elif <条件表达式3>:# 前面所有条件均为False且条件3为True时执行
...
else:# 以上所有条件都为False时执行

2.示例代码和结果:

# 1. 提示用户输入年龄,并将输入的字符串转换为整数
a = int(input("请输入您的年龄:"))
# 2. 根据年龄分段判断并输出对应人群类型
if a < 10:  # 如果年龄小于10岁print("您是儿童")  # 输出:您是儿童
elif a < 16:  # 否则如果小于16岁print("您是少年")  # 输出:您是少年
elif a < 30:  # 否则如果小于30岁print("您是青年")  # 输出:您是青年
elif a < 59:  # 否则如果小于59岁print("您是中年人")  # 输出:您是中年人
else:  # 其他情况(年龄≥59岁)print("您是老年人")  # 输出:您是老年人

(1.6)条件判断语句的嵌套

当需要对同一变量进行 多层级联的条件判断 时,可以使用多个 elif 扩展 if-else 结构,其核心作用是通过一系列互斥的条件筛选出唯一匹配的分支执行

1.条件判断语句的嵌套的使用形式:

if <条件表达式1>:# 条件1为True时执行的代码块
elif <条件表达式2>:   # 'elif' 是 'else if' 的缩写# 条件1为False且条件2为True时执行
elif <条件表达式3>:# 前面所有条件均为False且条件3为True时执行
...
elif <条件表达式N>:# 前面所有条件均为False且条件N为True时执行
else:# 以上所有条件都为False时执行

2.示例代码和结果:

# 学生成绩和性别
score = 85
gender = "female"
# 外层 if:先看成绩是否达到 60 分及格线
if score >= 60:                    # 条件成立(85 ≥ 60)# 内层 if:再按性别给出不同提示if gender == "male":           # 如果 gender 为 "male"print("男生合格")          # 输出:男生合格else:                          # gender 不是 "male"(这里是 "female")print("女生合格")          # 输出:女生合格
else:                              # score < 60 的情况print("未达标")                # 输出:未达标

(1.7)多个条件判断语句

当需要一次判断多个条件时,可以使用保留字and和or

1.多个条件判断语句的使用形式:

条件A and 条件B...
条件A or 条件B...

2.示例代码和结果:

# 让用户输入一个数字(注意:input 返回的是字符串类型)
a = input("请在0~9中猜一个数字:")# 条件1:字符串比较
# 当输入的字符同时满足 '3' < a < '8' 时成立
# 注意:这里比较的是字符串字典序,不是数值大小
if a > '3' and a < '8':print(a, "的值在3~8的范围内")# 条件2:字符串比较
# 只要满足 a > '3' 或 a < '8' 中的一个即可
# 由于任何单个字符都必然满足其中之一,此分支几乎总会执行
elif a > '3' or a < '8':print(a, "的值比3大或者比8小")# 其余情况(理论上不会发生)
else:print("未命中任何区间")

(1.8)if+else语句的复合写法

1.if+else语句的复合写法的使用形式如下:

表达式1 if 条件判断语句 else 表达式2
#表示若条件判断语句满足,则执行表达式1,否则执行表达式2

2.示例代码和结果:

# 提示用户输入两个整数
a = int(input("请输入数字:"))
b = int(input("请再输入数字:"))
# 计算两数之差的绝对值
# 如果 a > b,则 e = a - b;否则 e = b - a
e = (a - b) if (a > b) else (b - a)
# 输出结果
print(e)

(二)循环语句

(2.1)for循环

1.for循环的复合写法如下:

for循环的使用形式如下,其中语句块会被执行多次,执行的次数由循环内容决定,for循环内容后面必须要有冒号,for循环包含的语句块必须要缩进,即相对于for语句缩进1个tab位置

for 变量 in 循环内容:代码块

2.range()函数:

当for语句中的循环内容为数字时,由于数字与字符串不同,字符串是由多个字符组合而成,而数字是表示一个数值的大小,因此需要借用函数range(),range()函数的功能为产生一组可迭代的数字,使得for语句在每一次循环时,变量都可以获取一个数字,range()函数的使用形式如下:

range(参数1,参数2,参数3)
  1. 第1种情况,只使用参数1:表示将产生一组从0到参数1的所有整数(不包含参数1)
  2. 第2种情况,使用参数1和参数2:表示将产生一组从参数1到参数2的所有整数(不包含参数2)
  3. 第3种情况,3个参数都使用:表示将产生一组在参数1~参数2(不包含参数2)内步长为参数3的所有整数

3.示例代码和结果:

for a in "Python":print(a)
print("程序要结束啦!")

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

b = [a * 2 for a in range(5)]
print(b)

(2.2)while循环

1.while循环的使用形式如下:

while循环与for循环有一定的区别,主要表现在循环次数由谁来决定,while循环的使用形式如下:

while 条件:语句块
  1. while是Python语言中的保留字
  2. while右边的条件和if语句中的判断语句相同,且最右边有一个冒号
  3. 语句块是属于循环体的代码,至少包含1行代码,且语句块相对于 while语句需要缩进一个级别

2.示例代码和结果

a=1
while a<=3:a = a+1print("a的值为:",a)
print("运行结束")

(2.3)嵌套循环

for循环和while循环中的代码块都可以多包含1个或多个循环结构代码,例如for语句中可以再嵌套1个或多个for语句或while语句,while语句中也可以再嵌套1个或多个for语句或while语句

1.示例代码和结果:

import time  # 导入 time 模块,用于延时# 外层循环:小时,从 0 到 23(共 24 小时)
for k in range(24):# 中层循环:分钟,从 0 到 59(共 60 分钟)for i in range(60):# 内层循环:秒钟,从 0 到 59(共 60 秒)for j in range(60):time.sleep(0.01)  # 程序暂停 0.01 秒,模拟时间流逝# 打印当前模拟时间:小时:分钟:秒print('当前时间为', k, '时', i, '分', j, '秒')

(2.4)break和continue语句

break和continue是Python的保留字,用于控制循环语句的循环次数,一般配合if条件语句组合使用,break和continue可以直接当作一行语句

1.break语句:

break语句的功能是打破循环,使循环语句结束以及退出当前循环

2.break语句的示例代码和运行结果:

for a in "HHoHHHH":if a =='o':breakaprint(a)print("程序结束")

3.continue语句:

continue语句的功能是跳过循环语句中代码块剩下的语句,直接返回for循环语句(或while循环条件)继续循环,若在for循环结构内,则返回for语句继续下一个元素的赋值,若在while循环结构内,则返回while语句,进行条件判断

4.continue语句的示例代码和运行结果:

for a in "HHoHHHH":if a =='o':continueprint(a)print("程序结束")

(三)异常处理语句

(3.1)异常处理语句的使用

为了保证代码程序的稳定运行,不会因为用中输入错误的信息而导致整个程序直接运行失败,解决的方法是借助异常处理语句try+except

1.try+except语句的使用形式如下:

try:代码块1
except:代码块2

2.示例代码和运行结果:

try:n = int(input("请输入一个整数:"))print(n)
except:print("您输入的不是一个整数")
a =3
print("a的内容为:",a)

(3.2)异常捕获

一个代码中出现的错误可能不止一种,try+except语句还可以用于捕捉指定的异常错误类型

1.捕捉异常错误类型的try+except使用形式:

try:代码块1
except 异常错误类型1:代码块2
except 异常错误类型2:代码块3
...

2.示例代码和运行结果:

# 尝试执行以下代码块
try:# 提示用户输入一个数字,并将其转换为整数n = int(input("请输入一个数字"))# 计算 10 除以用户输入的数字,如果输入合法则得到结果a = 10 / n
# 捕获 ValueError 异常:当用户输入的不是有效整数时触发
except ValueError:print("您输入的不是一个整数")
# 捕获 ZeroDivisionError 异常:当用户输入的是 0 时触发(除数不能为 0)
except ZeroDivisionError:print("您输入的数字不能为0")# 无论前面是否发生异常,这里都会重新给 a 赋值为 3
a = 3
# 输出变量 a 的内容
print("a的内容为:", a)

http://www.dtcms.com/a/321947.html

相关文章:

  • 调用API接口返回参数缺失是什么原因导致的?
  • [3D数据存储] 对象 | OObject | IObject | 属性 | O<类型>Property | I<类型>Property
  • 安全基础DAY2-等级保护
  • linux-文件系统
  • AD8032ARZ-REEL7 ADI亚德诺 运算放大器 集成电路IC
  • 阿拉伯文识别技术:为连接古老智慧与数字未来铺设了关键道路
  • scratch笔记和练习-第11课:穿越峡谷
  • Cell-cultured meat: The new favorite on the future dining table
  • AR眼镜:能源行业设备维护的“安全守护者”
  • Shell脚本实现自动封禁恶意扫描IP
  • 考研复习-计算机组成原理-第四章-指令系统
  • nvm安装低版本的node失败(The system cannot find the file specified)
  • Mysql 如何使用 binlog 日志回滚操作失误的数据
  • 系统构成与 Shell 核心:从零认识操作系统的心脏与外壳
  • 物联网电能表在企业能耗监测系统中的应用
  • 人工智能与交通:出行方式的革新
  • Android 监听task 栈变化
  • 基于R语言,“上百种机器学习模型”学习教程 | Mime包
  • qt qtablewidget自定义表头
  • ubantu20.04 orin nx 显示器驱动
  • 【C++】类和对象--类中6个默认成员函数(2) --运算符重载
  • 【C#】掌握并发利器:深入理解 .NET 中的 Task.WhenAll
  • Docker容器部署前端Vue服务
  • 复杂路况误报率↓78%!陌讯轻量化模型在车辆违停识别的边缘计算优化​
  • 2025-08-08 李沐深度学习11——深度学习计算
  • 位置编码——RoPE篇
  • 机器学习算法篇(七)深入浅出K-means算法:从原理到实战全解析
  • 【深度学习新浪潮】近三年3DGS在大规模场景重建中的研究进展(2022-2025)
  • 北京上海深圳广州打捞日记
  • 一种基于空间聚类的低特征场景下多目标跟踪技术