首页 > 代码库 > 第五章 if语句

第五章 if语句

    编程时经常需要检查一系列条件,并据此决定采取什么措施。在Python中,if语句让我们能够检查程序的当前状态,并据此采取相应的措施。

5.1  一个简单的示例

    下面是一个简短的示例,演示了如何使用if语句来正确地处理特殊情形。假设我们有一个汽车列表,并想将其中每辆汽车的名称打印出来。对于大多数汽车,都应以首字母大写的方式打印其名称,但对于汽车名为“bmw",应以全大写的方式打印。下面的代码遍历一个列表,并以首字母大写的方式打印其中的汽车名,但对于汽车名为“bmw”,以全大写的方式打印:

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根据条件测试的值为TrueFalse来决定执行是否执行if语
句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。

5.2.1 检查是否相等
大多数条件测试都将一个变量的当前值同特定值进行比较。最简单的条件测试检查变量的值是否与特定值相等:
>>> a = "bmw"
>>> a == "bmw"
True
我们首先使用一个等号将car的值设置为"bmw",这种做法我们已经看过很多次。接下来,使用两个等号(==)检查car的值是否为"bmw".这个相等运算
在它两边的值相等时返回True,否则返回False。在这个示例中,两边的值相等,因此Python返回True。
如果变量car的值不是‘bmw‘,上述测试将返回False:
>>> a = ‘bmw‘
>>> a == ‘audi‘
False
一个等号是陈述;对于一个等号处的代码,可解读为”将变量car的值设置为‘audi‘.两个等号是发问;对于两个等号处的代码,可解读为"变量car的值
"bmw"吗?".大多数编程语言使用等号的方式都与这里演示的相同。
总结:在Python中,if语句判断的时候,返回的是True或False,如果条件满足的话就返回True;否则不满足,则返回False;并且,两个等号(==)是
发问,问Python是否相等,如果相等怎样,不等怎样。

5.2.2 检查是否相等时不考虑大小写
在Python中检查是否相等时区分大小写,例如,两个大小写不同的值会被视为不相等:
>>> car = ‘Audi‘
>>> car == ‘audi‘
False
如果大小写很重要,这种行为有其优点。但如果大小写无关紧要,而只想检查变量的值,可将变量的值转换为小写,再进行比较:
>>> car = "Audi"
>>> car.lower() == ‘audi‘
True
无论值‘Audi‘的大小写如何,上述测试都将返回True,因为该测试不区分大小写。函数lower不会修改存储在变量car中的值,因此进行这样的比较时不会
影响原来的变量:
(1)>>> car = "Audi"
(2)>>> car.lower() == "audi"
True
(3)>>> car
‘Audi‘
在(1)处,我们将首字母大写的字符串"Audi"存储在变量car中;在(2)处,我们获取变量car的值并将其转换为小写,在将结果与字符串‘audi‘进行比较。
这两个字符串相同,因此Python返回True。从(3)处的输出可知,这个条件测试并没有影响存储在变量car中的值。
#register = input("Please input your username: ")
register_names = []
user_names = ["zengmingzhu","zhagnqq","jiangxb","gzd","loujq","liuxs","cdq"]
while True:
register = input("Please input your username: ")
for user_name in user_names:
register_names.append(user_name.title())
if register.title() in register_names:
print("Sorry, the name you entered is registered! Please enter again")
else:
print("Successful!")
user_names.append(register)
break













第五章 if语句