python学习笔记(五):if语句之条件测试

目录

 

1.简单介绍if

2.条件测试

2.1 检查是否相等

2.2 检查是否相等时考虑大小写

2.3 检查是否不相等

2.4 比较数字

2.5 检查多个条件

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

2.7 布尔表达式


1.简单介绍if

     在实际应用中我们经常需要检查一系列条件,并根据条件决定采取什么措施,此时我们就需要使用到if语句。下面是一个简单的示例,演示了如何使用if语句来正确地处理特殊情形。假设你有一个汽车列表,并想将其中每辆汽车地名称打印出来。对于大多数汽车,都应以首字母大写的方式打印其名称,但对于汽车名“bmw”,应以全部大写方式打印。

cars = ['audi', 'bmw', 'subaru', 'toyota']

for car in cars:

    if car == 'bmw':

        print(car.upper())

    else:

        print(car.title())

    上面的示例中遍历一个列表,并以首字母大写的方式打印其中的汽车名,但是对于汽车名“bmw”,以全大写的方式打印。示例中的循环首先检查当前汽车名是否为“bmw”。如果是,就以全大写的方式打印它;否则就以首字母大写的方式打印。输出结果为:

Audi

BMW

Subaru

Toyota

 

2.条件测试

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

2.1 检查是否相等

    大多数条件测试都将一个变量的当前值同特定值进行比较。最简单的条件测试检测变量的值是否与特定值相等。例如:

num = '123'

print(num == '123')

输出结果为

True

 上例中,首先我们使用给变量num赋值为“123”(使用等号赋值)。接下来,使用两个等号(==)检查num的值是否为“123”,并使用print函数显示结果。这个相等运算符(==)在它两边的值相等时返回True,否则返回False。在这个示例中,两边的值相等,因此Python返回True。同理如果变量num的值不是“123”,则Python返回False。

2.2 检查是否相等时考虑大小写

   因为Python中默认区分大小写,所以在检查是否相等时,两个大小写不同的值会被视为不相等。例如:

name = "Tom"

print(name == 'tom')

输出结果为:

False

    若大小写很重要,这种检查是十分必要的。但是若大小写无关紧要,则可以将变量的值转换成小写,再进行比较:

name = "Tom"

print(name.lower() == 'tom')

输出结果为:

True

    其中函数lower()只会将变量的取出后转换为小写,不会影响原来的变量。

     有时候,网站采用类似的方式让用户输入的数据符合特定的格式。例如,网站可能使用类似的测试来保护用户名是独一无二的,而并非只是与另一个用户名的大小写不同。用户注册新的用户名时,把它转换为小写,并与已有的所有用户名的小写进行比较。执行这种检查后,若已有用户名“tom”(不管大小写如何),则用户提交新的用户“Tom”时将遭到拒绝。

2.3 检查是否不相等

    若要检查不相等,可以使用不相等号(!=),其中“!”表示不。 例如,我们将学生的名字保存在一个变量里,再打印一条消息,指出学生是否是“Tom”:

student_name = "Alex"

if student_name != "Tom":

    print("my name isn't Tom")

输出结果:

my name isn't Tom

    if语句将student_name的值与“Tom”进行比较,如果它们不相等,则返回True,进而执行紧跟在if后的代码块;如果它们相等,则返回False,不执行紧跟在if后的代码块。

     有时候检查两个值是否不相等的效率比检查相等的效率更高。

2.4 比较数字

    检查数值非常简单,相等和不相等的比较都与上面说的变量的比较一样。我们主要说一下,数字的比较,如小于、小于等于、大于、大于等于:

num = 5

print(num < 8)

print(num <= 8)

print(num > 8)

print(num >= 8)

输出结果为:

True

True

False

False

2.5 检查多个条件

     实际应用中经常出现需要同时检查多个条件的情况,例如有时需要在两个条件都满足时才执行相应的操作,而有时只要满足两个条件之一就可以执行相应的操作,此时关键字and和or可以助你一臂之力。

      需要检查两个条件都满足时,可以使用and将两个条件合二为一,若两个条件都满足,则整个表达式为True;若至少有一个条件没有通过,整个表达式就为False。

    例如,要检查是否两个人都不小于21岁:

age_0 = 22

age_1 = 18

bool_0 = age_0 >=21 and age_1 >=21

print(bool_0)

age_1 = 23

bool_0 = age_0 >=21 and age_1 >=21

print(bool_0)

输出结果为:

False

True

    上例中,首先我们定义了两个用于存储年龄的变量:age_0和age_1。然后我们检查这两个变量是否都大于等于21;第一个条件满足但是第二个条件不满足,因此整个条件表达式的结果为False。后面我们将age_1重新赋值为23,这样两个条件都满足了,因此整个条件表达式的结果为True。

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

    例如检查两个人的年龄,条件是至少有一个人的年龄不小于21:

age_0 = 18

age_1 = 23

bool_0 = age_0 >=21 or age_1 >=21

print(bool_0)

输出结果为:

True

     同样,我们首先定义了两个用于存储年龄的变量。由于第二个条件满足了,因此整个表达式的结果为True。

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

    有时候执行操作前必须检查列表是否包含特定的值。例如,结束用户的注册过程前,可能需要检查他提供的用户名是否已包含在用户名列表中。在地图程序中,可能需要检查用户提交的位置是否包含在已知位置列表中。

    要判断特定的值是否已包含在列表中,可使用关键字in。例如,查看顾客在披萨店点的披萨配料是否在特定的配料表中:

requesteds = ['mushrooms', 'onions', 'pineapple']

print('onions' in requesteds)

print('onions' not in requesteds)

输出结果为:

True

False

    关键字in让Python检查列表requesteds是否包含onions。另外使用not in可以检查列表是否不包含在列表中。

2.7 布尔表达式

    简单点说,布尔表达式可以理解为条件测试。与条件表达式一样,布尔表达式的结果要么为True,要么是False。

    布尔值通常用于记录条件,如游戏是否正在运行,或用户是否可以编辑网站的特定内容。在跟踪程序状态或程序中重要的条件方面,布尔值提供了一种高效的方式。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值