美文网首页
流程控制语句之条件语句(二)

流程控制语句之条件语句(二)

作者: 5f2a6061653d | 来源:发表于2019-01-04 11:31 被阅读16次

if-elif语句

生活中经常需要进行多重判断,例如,考试成绩在90~100区间内,称为优秀;在80~90区间内,称为良好;在60~80区间内,称为及格;低于60的称为不及格。
在程序中,多重判断可以通过if-elif语句实现,其语法格式如下:

if 条件表达式1:
  语句块1 # 当条件表达式1为True时,执行语句块1
elif 条件表达式2:
  语句块2 # 当条件表达式2为True时,执行语句块2
...
elif 条件表达式n:
  语句块n # 当条件表达式n为True时,执行语句块n

当执行该语句时,程序依次判断条件表达式的值,当出现某个表达式的值为True时,则执行其对应的语句块,然后跳出if-elif语句继续执行其后的代码。if-elif语句的执行流程,如下图所示。

if-elseif-else流程图

接下来演示if-elif语句的用法,如下所示。

1 score = 98
2 if 90 <= score <= 100:
3     print("优秀!")
4 elif 80 <= score < 90:
5     print("良好!")
6 elif 60 <= score < 80:
7     print("及格!")
8 elif 0 <= score < 60:
9     print("不及格!")
10 print("您的分数为%d"%score)

运行结果如下图所示。

运行结果.png

在上例中,程序依次判断表达式的值。程序先判断表达式90 <= score <= 100的结果为True,执行其后的语句块。最后,程序跳出if-elif语句,继续执行该语句后面的代码。

此外,if-elif语句后还可以使用else语句,用来表示if-elif语句中所有条件不满足时执行的语句块,其语法格式如下:

if 条件表达式1:
  语句块1 # 当条件表达式1为True时,执行语句块1
elif 条件表达式2:
  语句块2 # 当条件表达式2为True时,执行语句块2
...
else:
  语句块n # 当以上条件表达式均为False时,执行语句块n

接下来演示if-elif-else语句的用法,如下例所示。

1 score = 150
2 if 90 <= score <= 100:
3     print("优秀!")
4 elif 80 <= score < 90:
5     print("良好!")
6 elif 60 <= score < 80:
7     print("及格!")
8 elif 0 <= score < 60:
9     print("不及格!")
10 else:
11     print("成绩有误!")
12 print("您的分数为%d"%score)

运行结果如下图所示。

运行结果.png

在上例中,if-else语句中所有的条件表达式结果都为False,因此程序将执行else语句块。

if语句嵌套

if语句嵌套是指if、if-else中的语句块可以是if或if-else语句,其语法格式如下:

# if语句
if 条件表达式1:
 if 条件表达式2: # 嵌套if语句
  语句块2
 if 条件表达式3: # 嵌套if-else语句
  语句块3
 else:
  语句块4
# if-else语句
if 条件表达式1:
 if 条件表达式2: # 嵌套if语句
  语句块2
else:
 if 条件表达式3: # 嵌套if-else语句
  语句块3
 else:
  语句块4

注意if语句嵌套有多种形式,在实际编程时需灵活使用。接下来演示if嵌套语句的使用,如下所示。

1 a, b, c = 8, 66, 6
2 if a >= b:
3     if a >= c:
4         print("a、b、c中最大的值为%d"%a)
5     else:
6         print("a、b、c中最大的值为%d"%c)
7 else:
8     if b >= c:
9         print("a、b、c中最大的值为%d"%b)
10     else:
11         print("a、b、c中最大的值为%d"%c)

运行结果如下图所示。

运行结果

在上例中,程序的功能是输出 a、b、c中最大的值。第2到6行为a大于等于b的情形,第7行到第11行为a小于b的情形。

相关文章

网友评论

      本文标题:流程控制语句之条件语句(二)

      本文链接:https://www.haomeiwen.com/subject/fgfagftx.html