python 入门学习与实践1-5

本章介绍了Python编程中的条件测试和if语句,包括使用`if`、`else`、`elif`来判断条件,以及如何在代码中检查变量的值是否相等或不相等。此外,还讲解了`in`和`not in`运算符来检查列表中是否存在特定元素,以及如何使用`and`和`or`组合多个条件。在实际编程中,这些条件测试和if语句常用于控制程序流程,例如检查年龄是否达到投票标准、判断用户输入的用户名是否已被使用,或者在比萨订购系统中处理配料的添加和可用性。
摘要由CSDN通过智能技术生成

5.1 一个简单示例
下面是一个简短的示例,演示了如何使用if 语句来正确地处理特殊情形。假设你有一个汽车列表,并想将其中每辆汽车的名称打印出来。对于大多数汽车,都应以首字母大写的 
方式打印其名称,但对于汽车名'bmw' ,应以全大写的方式打印。下面的代码遍历一个列表,并以首字母大写的方式打印其中的汽车名,但对于汽车名'bmw' ,以全大写的方 
式打印:
cars.py
cars = ['audi', 'bmw', 'subaru', 'toyota']
for car in cars:
❶    if car == 'bmw':
print(car.upper()) 
else:
print(car.title())

这个示例中的循环首先检查当前的汽车名是否是'bmw' (见❶)。如果是,就以全大写的方式打印它;否则就以首字母大写的方式打印:
Audi
BMW
Subaru 
Toyota

这个示例涵盖了本章将介绍的很多概念。下面先来介绍可用来在程序中检查条件的测试。
5.2 条件测试
每条if 语句的核心都是一个值为True 或False 的表达式,这种表达式被称为条件测试 。Python根据条件测试的值为True 还是False 来决定是否执行if 语句中的代码。如果 条件测试的值为True ,Python就执行紧跟在if 语句后面的代码;如果为False ,Python就忽略这些代码。
5.2.1 检查是否相等
大多数条件测试都将一个变量的当前值同特定值进行比较。最简单的条件测试检查变量的值是否与特定值相等: ❶ >>> car = 'bmw'
❷ >>> car == 'bmw' 
True

我们首先使用一个等号将car 的值设置为'bmw' (见❶),这种做法你已见过很多次。接下来,使用两个等号(== )检查car 的值是否为'bmw' 。这个相等运算符 在它两边 的值相等时返回True ,否则返回False 。在这个示例中,两边的值相等,因此Python返回True 。
如果变量car 的值不是'bmw' ,上述测试将返回False :
❶ >>> car = 'audi'
 ❷ >>> car == 'bmw' 
False
一个等号是陈述;对于❶处的代码,可解读为“将变量car 的值设置为'audi' ”。两个等号是发问;对于❷处的代码,可解读为“变量car 的值是'bmw' 吗?”。大多数编程语言 使用等号的方式都与这里演示的相同。
5.2.2 检查是否相等时不考虑大小写
在Python中检查是否相等时区分大小写,例如,两个大小写不同的值会被视为不相等: 
>>> car = 'Audi'
>>> car == 'audi' 
False
如果大小写很重要,这种行为有其优点。但如果大小写无关紧要,而只想检查变量的值,可将变量的值转换为小写,再进行比较: 
>>> car = 'Audi'
>>> car.lower() == 'audi' 
True

无论值'Audi' 的大小写如何,上述测试都将返回True ,因为该测试不区分大小写。函数lower() 不会修改存储在变量car 中的值,因此进行这样的比较时不会影响原来的变 
量:
❸ >>> car = 'Audi'
❷ >>> car.lower() == 'audi' 
True
❸ >>> car 
'Audi'

在❶处,我们将首字母大写的字符串'Audi' 存储在变量car 中;在❷处,我们获取变量car 的值并将其转换为小写,再将结果与字符串'audi' 进行比较。这两个字符串相 同,因此Python返回True 。从❸处的输出可知,这个条件测试并没有影响存储在变量car 中的值。
网站采用类似的方式让用户输入的数据符合特定的格式。例如,网站可能使用类似的测试来确保用户名是独一无二的,而并非只是与另一个用户名的大小写不同。用户提交新的 
用户名时,将把它转换为小写,并与所有既有用户名的小写版本进行比较。执行这种检查时,如果已经有用户名'john' (不管大小写如何),则用户提交用户名'John' 时将 
遭到拒绝。
5.2.3 检查是否不相等
要判断两个值是否不等,可结合使用惊叹号和等号(!= ),其中的惊叹号表示不 ,在很多编程语言中都如此。
下面再使用一条if 语句来演示如何使用不等运算符。我们将把要求的比萨配料存储在一个变量中,再打印一条消息,指出顾客要求的配料是否是意式小银鱼(anchovies): 
toppings.py
requested_topping = 'mushrooms'

❶ if requested_topping != 'anchovies': 
    print("Hold the anchovies!")

❶处的代码行将requested_topping 的值与'anchovies' 进行比较,如果它们不相等,Python将返回True ,进而执行紧跟在if 语句后面的代码;如果这两个值相 等,Python将返回False ,因此不执行紧跟在if 语句后面的代码。
由于requested_topping 的值不是'anchovies' ,因此执行print 语句: Hold the anchovies!

你编写的大多数条件表达式都检查两个值是否相等,但有时候检查两个值是否不等的效率更高。
5.2.4 比较数字
检查数值非常简单,例如,下面的代码检查一个人是否是18岁: 
>>> age = 18
>>> age == 18 
True

你还可以检查两个数字是否不等,例如,下面的代码在提供的答案不正确时打印一条消息: magic_number.py
answer = 17
❶ if answer != 42:
print("That is not the correct answer. Please try again!")

answer (17 )不是42 ,❶处的条件得到满足,因此缩进的代码块得以执行:

That is not the correct answer. Please try again!<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值