if语句条件测试的学习

条件测试

每条if语句的核心都是一个值为True或者False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为True还是False来决定是否执行if语句中的代码.如果条件测试的值为True,执行紧跟在if语句后面的代码,如果是False,就忽略掉这些代码。

1.检查是否相等

最简单的条件测试检查变量的值是否与特定值相等:

>>> a='zjb'
>>> a='zjb'
True
复制代码

在这个示例中,两边的值相等,因此python返回True。
如果变量a的值不是 'bmw',上述的结果将返回False:

>>> a='abcd'
>>> a='zjb'
False
复制代码

2.检查是否相等时不考虑大小写

在python中检查是否相等时区分大小写。例如,两个大小写不同的值会被视为不相等。

>>> a='Azjb'
>>> a='azjb'
False
复制代码

如果大小写无关紧要,只想检查变量的值,可将变量的值转化为小写,然后进行比较:

>>> a='Azjb'
>>> a.lower() == 'azjb'
True
复制代码

3.检查是否不相等

要判断两个值是否不等,可结合使用惊叹号和等号(!=),其中的惊叹号表示不,在很多编程语言中都是如此。

requested_topping = 'mushrooms'
if requested_topping != 'anchovies':
    print("Hold the anchovies!")
复制代码

打印结果如下:

Hold the anchovies!
复制代码

4.比较数字

检查数值非常简单,例如、下面的代码检查一个人是否是18岁:

>>>age = 18
>>>age == 18
True
复制代码

你还可以检查两个数字是否不等,例如,下面的代码在提供的答案不正确时打印一条消息:

answer = 17
if answer != 42:
	print("That is not the correct answer. Please try again!")
复制代码

执行结果:

That is not the correct answer. Please try again!
复制代码

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

>>> age = 19
>>> age < 21
True
>>>age <= 21
True
>>>age > 21
False
>>age >= 21
False
复制代码

5.检查多个条件

5.1使用and检查多个条件

要检查是否两个条件都为True,可使用关键字and将两个条件测试合面为一;
如果每个测试都通过了,整个表达式就为True;
如果至少有一个测试没有通过,整个表达式就为False。
例如,要检查是否两个人都不小于21岁,可使用下面的测试:

>>>age_0 = 22
>>>age_1 = 18
>>>age_0 >= 21 and age_1 >= 21
Falce
>>>age_1 = 22
>>>age_0 >= 21 and age_1 >= 21
True
复制代码

为改善可读性,可将每个测试都分别放在一对括号内,但并非必须这样做。如果你使用括号, 测试将类似于下面这样:

(age_0 >= 21) and (age_1 >= 21)
复制代码

5.2使用or检查多个条件

关键字or也能检查多个条件,但只要至少有一个条件满足,就能通过整个测试。
仅当两个测试都没有通过时,使用or的表达式才为False.

>>>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
复制代码

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

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

>> abc = ['mushrooms', 'onions', 'pineapple'l
>>>'mushrooms' in abc
True
>>>'pepperoni' in abc
False
复制代码

这种方法在创建一个列表后,能够轻松地检查其中是否包含特定的值。

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

还有些时候,确定特定的值未包含在列表中很重要;在这种情况下,可使用关键字not in.。
例如,如果有一个列表,其中包含被禁止在论坛上发表评论的用户,就可在允许用户提交评论前检查他是否被禁言:

zh = ['andrew', 'carolina', 'david']
user = 'marie'
if user not in zh
	print(user.title() + ", you can post a response if you wish.")
复制代码

打印结果:

Marie, you can post a response if you wish.
复制代码

8.布尔表达式

布尔表达式,是条件测试的别名。
与条件表达式一样,布尔表达式的结果要么为True,要么为False.
例如:

game_active = True
can_edit = False
复制代码

在跟踪程序状态或程序中重要的条件方面,布尔值提供了一种高效的方式。

Guess you like

Origin juejin.im/post/7031431966301880356