零基础学Python(第2版)
上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子句。