条件测试

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

相等运算符( == )在它两边的值相等时返回True,否则返回False。

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

要判断两个值是否不等,可结合使用惊叹号和等号( != ),其中惊叹号表示不。

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

检查多个条件

关键字 and 将两个条件测试合而为一;如果都通过了表达式就为True;如果至少一个测试没有通过,整个表达式就为False。

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

如:

age_0 = 18
age_1 = 22
if age_0 >= 21 and age_1 <= 21:
    print('YES.')
else:
    print('Is Not.')

age_0 = 20
age_1 = 18
if age_0 >= 21 or age_1 <= 21:
    print('YES.')
else:
    print('Is not.')

 

布尔表达式:与条件表达式一样,布尔表达式的结果要么为True,要么为False。

if语句

在 if 语句中,缩进的作用与for循环中相同。 测试通过了,将执行 if 语句后面所有缩进的代码行,否则将忽略它们。

在紧跟在 if 语句后面的代码块中,可根据需要包含任意数量的代码行。

if-else语句

if-else 语句块类似于简单的 if 语句,但其中的 else 语句是 指定条件测试未通过时要执行的操作。

 

if-elif-else

Python只执行 if-elif-else 结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。 测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。

age=2
if age<4:
    print("Your admission cost is $0.")
elif age<18:
    print("Your admission cost is $5.")
else:
    print("Your admission cost is $10.")

 

总结:else 是一条包罗万象的语句,只要不满足任何 if 或者 elif 中的任何条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据。

    如果知道最重要测试的条件,应考虑使用一个 elif 代码块来代替 else 代码块。这样就可以肯定,仅当满足相应的条件时,代码才会执行。

PS:如果只想执行一个代码块,就使用 if-elif-else 结构;如果要运行多个代码块,就使用一系列独立的 if 语句。

 

使用 if 语句处理列表

检查列表是否为空

如:

users=['admin','guest','zhang','wang','li']
if users:
    for user in users:
        if user=='admin':
            print('Hello '+user.title()+',would you like to see a staus report?')
        else:
            print('Hello '+user.title())
else:
    print('We need to find some users!')

其中的 if users: 是进行简单的检查,如果 users 的列表是空的,Python 就会返回False; 至少包含一个元素时返回True。

 

同时使用多个列表:

如:

current_users=['admin','guest','zhang','wang','li']
new_users=['admin','guest','zhao','qian','sun']
for user in new_users:
    if user.lower() in current_users:
        print('Enter one user name:')
    else:
        print('User name is not used!')

 

 

posted on 2019-11-13 15:39  忄、忄、忄  阅读(222)  评论(0)    收藏  举报