目录
4.1一个简单的示例
可以简单的理解为,如果……就
#if语句
cars=['bmw','audi','toyota','subaru']
for car in cars:
if car=='bmw':
print(car.upper())
else:
print(car.title())
BMW
Audi
Toyota
Subaru
4.2条件测试
每条if语句的核心都是True或者False的表达式,这种表达式称为条件测试。
4.2.1检查是否相等
大多数条件测试将一个当前值同特定值进行比较。
这个相等运算符两边值相等时返回True,否则返回False。
>>>car='bmw'
>>>car=='bmw'
True
>>>car='cmd'
>>>car=='bmw'
False
4.2.2检查是否相等时忽略大小写
在书写时,如果大小写不对等也会报错。
>>>car='Aar'
>>>car=='var'
False
>>>car='Bmw'
>>>car.lower()=='bmw'
True
4.2.3检查是否不相等
表示不相等的符号 !=
car='bmw'
if car !='cmd':
print('no no no')
4.2.4数值比较
检查数值非常简单。例如下面的代码检查一个人是否18岁。
也可用>、<、<=、>=比较
#数值比较.也可用>、<、<=、>=比较
>>>age=18
>>>age==18
True
4.2.5检查多个条件
¥and 和,表交集
¥or 或,表并集
#检查多个条件
age_0=22
age_1=18
print(age_0>=21 and age_1>=21)
print(age_0>=21 or age_1>=21)
False
True
4.2.6布尔表达式
1.布尔表达式(Boolean expression)是一段代码声明,它最终只有true(真)和false(假)两个取值。从最基本的层次来说,所有的布尔表达式,不论它的长短如何,其值只能是true或false。
2.布尔值通常用于记录条件如游戏是否正常运行,或者用户是否可以编辑网站的特定内容。
¥布尔表达式的语义在于指明计算一个逻辑值的规则。
¥布尔表达式在程序设计语言中有两个基本的作用:
¥一是在某些控制语句中作为实现控制转移的条件;
¥另一个则是用于计算逻辑值本身。
约定:各类运算符的优先顺序(由高至低)如下:
1.括号
2.算术运算符 *(乘法) / (除法) +(加法) -(减法) %(模)(返回一个除法的整数余数,例如:12%5=2,这里是因为12除以5的余数是2)
3.关系运算符 <(小于)、<=(小于等于)、=(等于)、>(大于)、>=(大于等于)、<>(不等于)
4.逻辑运算符 ┒ ∧ ∨
4.3if语句
4.3.1简单的if语句
检查if值是否大于16
age=18
if age>16:
print("yes!")
4.3.2if-else语句
简单来说就是:如果……就……或者……
age=17
if age>=18:
print("Tou are old enough to vote!")
else:
print("Sorry,you are too young to vote.")
有代码看出,输出第二段输出语句
4.3.3if-elif-else结构
简单来说就是:如果……就……如果……就……或者……
python中并不要求if-elif结构后面必须有代码块,可直接省略
age=12
if age<4:
price=0
elif age<18:
price=25
elif age<65:
price=40
else:#也可以直接限定条件 elif:age>=65
price=20
print(f"Your admission cost is ${price}")
4.3.4测试多个条件(列表)
if-elif-else结构功能强大,但仅适合用于只有一个条件满足的情况:遇到通过了的测试后,python就跳过余下的测试
number=['a','b','c']
if 'a' in number:
print("adding a")
if 'b' in number:
print("adding b")
if 'd' in number:#因为列表中没有元素d,所以此条件下不会输出
print("adding d")
#输出adding a
# adding b
#遇到通过了的测试后,python就跳过余下的测试
number=['a','b','c']
if 'a' in number:
print("adding a")
elif 'b' in number:
print("adding b")
elif 'd' in number:
print("adding d")
#输出:adding a
即上述代码运行一次后将直接跳过剩余代码,在实际操作中并不适用
4.4使用if语句处理列表
话不多说上代码,综合使用for循环和if语句
从第一个值开始遍历,遍历完毕输出最后一个print()函数。
numbers=['a','b','c']
for number in numbers:
if number=='b':#123次比较abc
print('right!')
else:
print(f"addind_{number}")#f用来连接
print("\n Finish")
addind_a
right!
addind_c
Finish
请指正