一个简单示例

if 语句

下面是一个简单示例,演示如何if语句

cars=['audi','bmw','subaru','toyota']
for car in cars:
 if car=='bmw':
  print(car.upper())
 else:
  print(car.title())
Audi
BMW
Subaru
Toyota

条件测试

每条if语句的核心都是一个值为true或者false的表达式,这种表达式被称为条件测试。如果条件测试的值为true,则执行紧跟在if语句后面的代码,如果是false,就不执行。

检查相等时考虑大小写

car='bmw'
car=='Bmw'
false

大小写不同会影响结果,如果不想比较大小写,可用方法lower(),他不会改变存储在变量中的值

检查是否不相等

用!=来判断是否相等

a='q'
if a!='x':
 print('you are right')

比较数字

和上面的例子基本相同

检查多个条件

使用and检查两个条件是否都为True,都是true才会通过。

age_0=12
age_1=13 
age_0<=19 and age_1<=17
true
age_0<=19 and age_1>=18
false

使用or检查多个条件

至少有一个条件满足,结果就是true,当两个都不满足时,结果才为false

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

使用关键词in

cars=['audi','bmw','subaru','toyota']
'audi'in cars
True
'a' in cars 
False

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

使用not in

布尔表达式

他不过是条件表达式的别名,结果是True或者False.在跟踪程序状态或者程序中重要的条件方面,布尔值很高效

game_active=True
can_edit=False

if语句

简单的if语句

a=19
if a>=4:
 print('nb')

if-else 语句

其中的else语句执行条件未通过时的操作

a=19
if a>=4:
 print('nb')
else:
 print('not nb')

if-elif-else语句

age=21
if age<=19:
 print(age)
elif age<=33:
 print(age)
else:
 print('太大了')

if语句如果通过就跳过下面的语句

elif语句仅在if语句未通过时才会运行,如果通过就跳过下面的语句

else语句在上面的语句都未通过时执行

使用多个elif代码块

可根据需要添加多个elif语句

省略else代码块

python并不要求必须含有else代码块

age=21
if age<=19:
 print(age)
elif age<=33:
 print(age)
elif age>=77:
 print('太大了')

测试多个条件

if-elif-else语句功能强大,但只适用于单个条件,如果条件很多,可使用不包含elif和else的多个简单的if语句

cars=['audi','bmw','s','toyota']
if 'audi' in cars:
 print('a')
if 'bm' in cars:
 print('b')
if 's' in cars:
 print('s')

a
s

总之,如果你想运行一个代码块就用if-elif-else语句,多个代码块就用一系列独立的if语句

使用if语句处理列表

如果客户点的披萨里的青椒用完了,该怎么处理呢

requested_toppings = ['mushrooms', 'green peppers', 'extra cheese']

for requested_topping in requested_toppings:
    if requested_topping =='green peppers':
       print("Sorry, we don't have " + requested_topping + ".")
    else:
       print('ok')
        
print("\nFinished making your pizza!")

在for循环中添加if语句即可

确保列表不是空的

在后面的章节里,列表很可能为空,就需要换种方法

requested_toppings=[]
if requested_toppings:
 for requested_topping in requested_toppings:
  print('ok')
 print("\nFinished making your pizza!")
else:
 print('ni xiang yige kongdepisama?')

在这里,我们创建了一个空的列表,然后使用了for循环,在if语句中将列表名用在条件表达式中时,如果列表包含了至少一个元素时,返回True,列表为空时返回false,在这里这个列表为空,所以运行else后的程序

使用多个列表

available_toppings = ['mushrooms', 'olives', 'green peppers',
                      'pepperoni', 'pineapple', 'extra cheese']

requested_toppings = ['mushrooms', 'french fries', 'extra cheese']

for requested_topping in requested_toppings:
    if requested_topping in available_toppings:
        print("Adding " + requested_topping + ".")
    else:
        print("Sorry, we don't have " + requested_topping + ".")
        
print("\nFinished making your pizza!")

我们首先定义了一个包含所有配料的列表,(如果配料是固定的,也可以用元组来储存),在定义一个顾客需要的配料,遍历这个列表,检查是否在第一个列表里有这些配料。

设置if语句的格式

在诸如==,>=,<=等比较运算符两边各加一个空格来提高代码美观能力