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’。如果是,就以全大写的方式打印,否则就以首字母大写的方式打印。
5.2条件测试
每条if语句的都是一个值为true或False的表达式,这种表达式被称为条件测试。Python根据条件测试的值为True或Flase来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。
5.2.1检查是否相等
大多数条件测试都将一个变量的当前值同特定值进行比较。最简单的条件测试检查变量的值是否与特定的值相等:
我们首先使用一个等号将car的值设置为‘audi’,接下来检查car的值是否为‘bmw’。这个相等运算符在它两边的值相等时返回True,否则返回False。在这个示例中,两边的值不相等,因此Python返回False。
5.2.2检查是否相等时不考虑大小写
在Python中检查是否相等时区分大小写。例如,两个大小写不同的值会被视为不相等:
如果大小写很重要,这种行为有其优点。但如果大小写无关紧要,而只想检查变量的值,可将变量的值转换为小写,再进行比较:
无论值‘Audi’的大小写如何,上述测试都将返回True,因为该测试不区分大小写。函数lower()不会修改存储在变量car中的值,因此进行这样的比较时不会影响原来的变量:
5.2.3检查是否不相等
要判断两个值是否不等,可结合使用惊叹号和等号(!=),其中的惊叹号表示不,在很多编程语言中都如此。
下面在使用一条if语句来演示如何使用不等运算符。我们将把要求的比萨配料存储在一个变量中,在打印一条消息,指出顾客要求的配料是否是意式小银鱼(anchovies)
requested_topping='mushrooms'
if requested_topping !='anchovies':
print "Hold the anchovies"
运行结果如下:
5.2.4比较数字
检查两个数字是否不等,例如:下面的代码在提供的答案不正确时打印一条消息:
age=14
if age != 22:
print "That is not the correct answer.Please try again"
运行结果如下:
条件语句中可包含各种数学比较,如小于、小于等于、大于、大于等于:
5.2.5检查多个条件
你可能想同时检查多个条件,例如,有时候你需要在两个条件都为True时才执行相应的操作,而有时候你只要一个条件为True时就执行相应的操作。在这些情况下,关键字and和or可助你一臂之力。
1.使用and检查多个条件
要检查是否两个条件都为Tr