自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501
大家平时在网上购物时,通常都有多种付款方式供大家选择,如图10所示。
图10 购物时的付款页面
图10中提供了5种付款方式,这时用户就需要从多个选项中选择一个。在开发程序时,如果遇到多选一的情况,则可以使用if…elif…else语句,该语句是一个多分支选择语句,通常表现为“如果满足某种条件,就会进行某种处理,否则,如果满足另一种条件,则执行另一种处理……”。if…elif…else语句的语法格式如下:
if 表达式1:
语句块1
elif 表达式2:
语句块2
elif 表达式3:
语句块3
…
else:
语句块n
使用if…elif…else语句时,表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式,如果表达式为真,执行语句;而如果表达式为假,则跳过该语句,进行下一个elif的判断,只有在所有表达式都为假的情况下,才会执行else中的语句。if…elif…else语句的流程如图11所示。
图11 if…elif…else语句的流程图
注意:if和elif都需要判断表达式的真假,而else则不需要判断;另外,elif和else都必须与if一起使用,不能单独使用。
实例03 输出玫瑰花语
使用if…elif…else多分支语句实现根据用户输入的玫瑰花的朵数输出其代表的含义,代码如下:
print("在古希腊神话中,玫瑰集爱情与美丽于一身,所以人们常用玫瑰来表达爱情。")
print("但是不同朵数的玫瑰花代表的含义是不同的。\n")
# 获取用户输入的朵数,并转换为整型
number = int(input("输入您想送几朵玫瑰花,小默会告诉您含义:"))
if number == 1: # 判断输入的数是否为1,代表1朵
# 如果等于1则输出提示信息
print("1朵:你是我的唯一!")
elif number == 3: # 判断是否为3朵
print("3朵:I Love You!")
elif number == 10: # 判断是否为10朵
print("10朵:十全十美!")
elif number == 99: # 判断是否为99朵
print("99朵:天长地久!")
elif number == 108: # 判断是否为108朵
print("108朵:求婚!")
else:
print("小默也不知道了!可以考虑送1朵、3朵、10朵、99朵或108朵呦!")
说明:第1行代码中的int()函数用于将用户的输入强制转换成整型。
运行程序,输入一个数值,并按下<Enter>键,即可显示相应的提示信息,效果如图12所示。
图12 if…elif…else多分支语句的使用
多学两招:使用if选择语句时,尽量遵循以下原则:
(1)当使用布尔类型的变量作为判断条件时,假设布尔型变量为flag,较为规范的格式如下:
if flag: # 表示为真
if not flag: # 表示为假
不符合规范的格式如下:
if flag == True:
if flag == False:
(2)使用“if 1 == a:”这样的书写格式可以防止错写成“if a = 1:”这种形式,从而避免逻辑上的错误。