
上QQ阅读APP看书,第一时间看更新
3.2.2 if…elif…else判断语句
if…elif…else语句是对if…else…语句的补充。当程序的条件分支很多时,可以使用这种语句。if…elif…else语句相当于C、Java中的if…elseif…else语句。该语句的格式如下。
01 if(表达式1): 语句1 02 elif(表达式2): 语句2 03 … 04 elif(表达式n): 语句n 05 else: 语句m
if…elif…else语句的执行过程:首先判断表达式1的值是否为真。如果为真,则执行语句1。否则,程序流转到elif子句,判断表达式2的值是否为真。如果表达式2的值为真,则执行语句2。否则,程序进入下面一个elif子句,以此类推。如果所有的表达式都不成立,则程序执行else子句的代码。其中的else子句可以省略,表达式两侧的括号也可以省略。
下面【例3-2】中的这段代码通过判断学生的分数,确定学生成绩的等级。
【例3-2.py】
01 # if elif else语句 02 score = float( input("score:")) # 接收用户输入并将其转换为float类型,当输入为小数时,使用int转换会报错 03 if 90 <= score <= 100: 04 print("A") 05 elif 80 <= score < 90: 06 print("B") 07 elif 60 <= score < 80: 08 print("C") 09 else: 10 print("D")
【代码说明】
·第2行代码定义了一个变量score,假设输入的值为70。这个变量表示学生的分数。接收用户输入并将其转换为float类型。
·第3行代码,分数大于等于90并且小于等于100,则等级评定为“A”。
·第5行代码,分数大于等于80并且小于90,则等级评定为“B”。
·第7行代码,分数大于等于60并且小于80,则等级评定为“C”。此时条件表达式成立,程序流转到第8行。输出结果为C。
·第9行代码,当前面的条件表达式都不成立时,程序流转到else子句。