Python从入门到实践之条件判断|第4天

User:你好我是森林
Date:2018-03-17
Mark:《Python从入门到实践》

条件判断

认识条件判断

在日常开发中需要用到如果怎么样就怎么样,否则就怎么样的逻辑。主要采用if语句来实现的。

例如:假设你有一个汽车 列表,并想将其中每辆汽车的名称打印出来。对于大多数汽车,都应以首字母大写的方式打印其 名称,但对于汽车名'bmw',应以全大写的方式打印。下面的代码遍历一个列表,并以首字母大 写的方式打印其中的汽车名,但对于汽车名'bmw',以全大写的方式打印:

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

运行结果:

Audi
BMW
Subaru
Toyota

条件测试

每条if语句的核心都是一个值为TrueFalse的表达式,这种表达式被称为条件测试。

判断是否相等

相等的语句是:==,赋值的语句是:=,两者需要作区分。

c = 'like'
print(c == 'Like')

运行结果:False

如果需要或略大小写可以采用将其转化为小写的方式,函数为:lower()。其余的逻辑同理。

判断是否不相等

语句:!=,其余的逻辑类似,不过多阐述。

比较数字

条件语句中可包含各种数学比较,如小于、小于等于、大于、大于等于。

代码示例:

>>> num = 29
>>> num < 21
False
>>> num >= 4
True
>>>
多个条件判断

多个条件判断将条件采用关键字and连接,只有全部为true才能满足,否则整体条件就为false。如果是或者的关系采用关键字or,只要满足其中的一个整体条件就为true。如果不确定优先级(或者可读性)的问题,可以采用括号就没个单个条件括起来。

代码示例:

>>> age_0 = 22 
>>> age_1 = 18
>>> age_0 >= 21 and age_1 >= 21 
False
>>> age_1 = 22
>>> age_0 >= 21 and age_1 >= 21 
True
>>> age_0 = 22 
>>> age_1 = 18
>>> age_0 >= 21 or age_1 >= 21 
True
>>> age_0 = 18
>>> age_0 >= 21 or age_1 >= 21 
>>> False

采用括号的形式提高可读性和解决优先级的问题。

(age_0 >= 21) and (age_1 >= 21)
检查特定的值是否包含在列表中

要判断特定的值是否已包含在列表中,可使用关键字in

代码示例:

>>> requested_toppings = ['mushrooms', 'onions', 'pineapple']
>>> 'mushrooms' in requested_toppings
True
>>> 'pepperoni' in requested_toppings
False
检查特定的值是否不包含在列表中

确定特定的值未包含在列表中,可使用关键字not in

使用方法和上面判断是否在列表中一致。

布尔表达式

布尔表达式的结果要么为True,要么为False,布尔值通常用于记录条件。

if语句

简单的if语句

代码示例:

num = 34
if num >= 18:
    print("恭喜,您已经成年")
if-else语句

代码示例:

num = 16
if num >= 18:
    print("恭喜,您已经成年")
else:
    print("你好,你未成年呢")
if-elif-else 结构
num = 16
if num >= 18:
    print("恭喜,您已经成年")
elif num > 15:
    print("你好,还差3年就成年")
else:
    print("122")

elif可以连续多次使用,多加判断即可。同时在某些时候可以省略else的部分。

使用if语句处理列表

检查特殊元素
requested_toppings = ['mushrooms', 'green peppers', 'extra cheese']
for requested_topping in requested_toppings:
    if requested_topping == 'green peppers':
        print("Sorry, we are out of green peppers right now.")
    else:
        print("Adding " + requested_topping + ".")
print("\nFinished making your pizza!")

循环的时候可以进行判断,然后即可,同时还可以判断是否为空列表。

点赞