if语句

格式

if 表达式 :

    语句块

else:

   语句块

条件测试

检查是否相等

每条if语句的核心都是一个值为 False 和 True 的表达式,这个表达式称为条件测试

python对于True的表达式后面的语句就执行,False就忽略

cars = ['audi', 'bwm', 'subraw', 'toyata']
for car in cars:
    if car == 'bwm': # 冒号不要忘记
    # == 运算符判断运算符两端的值是否相等,相等返回 true ,否则 false
        print(car.upper())
    else:
        print(car)
    #与for语句类似 if 和 else 管到没有缩进的地方

 

检查是否相等时忽略大小写

python在检查是否相等时 是区分大小写的,这个有其需要的地方

如果大小写无关紧要(比如验证码输入时),可以采用如下做法

car = 'AuDi'
print(car.lower() == 'audi')
#当然upper() 也可以
print(car) #这里并没有影响car关联的变量值

 

检查是否不相等

requested_topping = 'mushroom'
if requested_topping != 'anchovies':
    #   != 如果表达式两边不相等返回true ,相等返回 false
    print("Hold the anchovies")

 

数值比较

age = 20
print(age == 20)
print(age <= 10)
print(age < 23)
print(age > 34)
print(age >= 12)

 

 

检查多个条件

使用and(交集 &&  与)

and可以在一个表达式使用多个,只有所有条件都满足时才为True,否则为 False

age = 23
if age > 18 and age < 35:
    print("青年")

 

使用or(并集  ||   或)

or 与 and 语句一样可以在表达式使用多个,

只要有一个条件满足就返回 True , 所有条件都不满足才会返回False

age_1 = 23
age_2 = 10
if age_1 > 18 or age_2 > 18:
    print("有成年人陪护")

 

检查特定值是否包含在列表或元组中

要判断特定值是否在列表或元组中需要用到关键字 in

cars = ['audi', 'bwm', 'subaru']
print('audi' in cars)

cars_list = ('audi', 'bwm')
if 'audi' in cars :
    print("Yes")
if 'audi' in cars_list:
    print("Yes")

 

 

检查特定值是否不包含在列表或元组中

有时候你需要判断特定值未包含在当前列表中

比如禁止在论坛发言的人(这个数据量一般比允许的小的多,用in的话时间复杂度太高)

the_bad_guys = ['david', 'john', 'lisa']
user = 'marie'
if user not in the_bad_guys:
    print(f"{user.title()}, you can post a response if you wish")

 

布尔表达式

布尔表达式通常用于记录条件,是一种高效的方式

game_active = True
can_edit = False
# 注意不能写成 true 和 false

 

使用if—else语句

注意if 和 else 后面都要跟 冒号

age = 18
if age >= 18:
    print("You are old enough to vote!")
    print("Please register to vote as soon as you turn 18!")
else:
    print("You are too young to vote!")

使用if—elif—else语句

有时需要分别检测两个甚至多个条件

age = 3
#会依次检查每个条件,
# 如果遇到了一个条件通过测试,python会执行该条件下的语句并跳过接下来条件检测
if age < 4:
    print("cost ¥0")
elif age < 18:  # 此处已经是  4 ~ 18
    print("cost ¥25")
else:
    print("cost ¥40")

当然上面的elif可以更多

 

使用if处理列表

确定列表是不是空的

requested_toppings = []

if requested_toppings: # 如果列表不空就执行下列语句, 也可以用 len 方法
    for requested_topping in requested_toppings:
        print(f"Add {requested_topping}!")
else:
    print("Are you sure you want a plain pizza?")

posted @ 2022-03-25 13:32  我就一水  阅读(127)  评论(0)    收藏  举报