一.条件判断语句
1.1 布尔值
布尔值(bool)是一种只有两个值(True和False)的数值类型
条件判断表达式输出的结果是布尔类型
print(12*2>11*3)
print(12*2<11*3)
判断表达式是如下
类型 | 运算符 | 示例 | 说明 |
---|---|---|---|
比较运算 | == , != , > , < , >= , <= | x == 10 , age >= 18 | 比较两个值的关系,返回 True 或 False 。 |
逻辑运算 | and , or , not | x > 0 and x < 100 , not is_student | 组合多个条件,and (与)、or (或)、not (非)。优先级为not>and>or |
成员判断 | in , not in | "apple" in fruits , 5 not in [1, 2, 3] | 检查元素是否在序列(列表、字符串、元组等)中。 |
身份判断 | is , is not | x is None , a is not b | 判断两个变量是否引用同一个对象(内存地址相同)。 |
三目运算 | x if condition else y | "及格" if score >= 60 else "不及格" | 简化 if-else ,适合单行条件赋值。 |
链式比较 | a < b < c | 10 < num < 20 | 连续比较多个值,相当于 a < b and b < c 。 |
布尔值判断 | bool() | if not []: , if name: | 空值(False 、None 、0 、"" 、[] 、{} 、() )会被视为 False 。 |
1.2 if条件判断语句
if条件判断语句为
if 判断表达式:
代码1
对if判断语句必须要有缩进(不论几个空格)不然程序会报错
a=[1,2,3,4]
i=2
if i in a:
print(f'{i*2}')
1.3 多条件判断语句
在 Python 中,多条件判断语句 通常使用 if-elif-else
结构,结合 逻辑运算符(and
、or
、not
)来实现复杂的条件判断。
if 条件1:
# 条件1为 True 时执行
elif 条件2:
# 条件2为 True 时执行
elif 条件3:
# 条件3为 True 时执行
else:
# 所有条件均为 False 时执行
n=int(input("请输入数量:"))
if n<2:
cost=150*n
elif n>=2 and n<=4:
cost=150*n*0.9
elif n>4 and n<=10:
cost=150*n*0.8
else :
cost = 150*n*0.7
print('总额为:',cost)
对于多个条件我们还可以在if语句中嵌套语句if语句
f=int(input('请输入成绩:'))
b=float(input('请输入出勤率:'))
if f >= 90 and b>60:
if b >= 95:
c = "A+"
else:
c = "A"
elif f >= 80 and b>60:
c = "B"
elif f >= 60 or b>60:
c='C'
else:
c = "D"
print(c)
1.4 if-else 语句的复合写法
复合写法格式
表达式1 if 条件判断语句 else 表达式2
若条件判断语句满足执行表达式1否则执行表达式2
a=12
b=15
print(a if a>b else b)
二.循环语句
对于python,如果想多次执行同一个步骤,就需要利用循环语句for和while
2.1 for循环
对于for循环可以反复执行直到条件不被满足,for循环格式如下
for 变量 in 循环内容:
代码块
和if结构相同的是代码块部分都需要缩进
对于循环内容需要是可迭代对象
- 常见可迭代对象:
- 列表(
list
) - 元组(
tuple
) - 字符串(
str
) - 字典(
dict
) - 集合(
set
) - 文件对象(
file
) - 生成器(
generator
) - range(start, stop, step) 生成 start 到 stop-1,步长为 step 的整数
- 列表(
b=[]#定义列表
for a in range(0,5):
b.append(a*5)
print(b)
同样for循环也有符合用法
[表达式 for 变量 in 循环内容]
a =[a*2 for a in range(10)]
print(a)
2.2 while循环
和for循环不同的是在while循环中是根据条件判断表达式决定循环是否结束的(True执行,False结束)
使用形式如下
while 条件判断表达式:
代码块
a,b = 0,1
while a<=100:
print(a,end=",")
a,b = b,a+b
2.3 循环嵌套
对于循环结构我可以进行多层嵌套
嵌套循环的工作原理是:
- 外层循环每执行一次,内层循环会完整地执行所有迭代
- 内层循环可以访问外层循环的当前迭代变量
下面是个计时代码:
import time
c=0
while c<=24:
for b in range(0,60):
for c in range(0,60):
print('\r{:02d}:{:02d}:{:02d}'.format(a,b,c),end="",flush=True)#强制立刻显示flush=True
time.sleep(1)
c+=1
2.4 break 和 continue
特性 | break | continue |
---|---|---|
作用 | 完全终止循环 | 跳过当前迭代 |
循环状态 | 循环结束 | 循环继续 |
典型用途 | 满足条件时提前退出循环 | 跳过不符合条件的迭代 |
嵌套影响 | 只影响当前所在的循环 |
只影响当前所在的循环 |
for a in range(0,24):
print(a,end=' 'if a!=23 else '\n')
for a in range(0,24):
if a==15:
continue
print(a, end=' ' if a != 23 else '\n')
for b in range(0,24):
if b==15:
break
print(b,end=' ')
三.异常处理语句
异常处理是编程中处理运行时错误的重要机制
下面是异常处理语句的格式
try:
# 可能引发异常的代码块
except 异常类型1:
# 处理异常类型1的代码
except 异常类型2:
# 处理异常类型2的代码
常见异常类型:
ValueError
:值错误TypeError
:类型错误IndexError
:索引错误KeyError
:键错误FileNotFoundError
:文件未找到ZeroDivisionError
:除零错误
while True:
try:
n=int(input('输入:'))
a=10/n
break
except ValueError:
print('不是整数')
except ZeroDivisionError:
print('不能为零')
print(a, end='')