首页 > 开发 > Python > 正文

Python的分支语句:if...elif...else

2023-04-26 12:04:40
字体:
来源:转载
供稿:网友

      Python中的 if...elif...else 语句属于程序流程控制的语句,用于条件判断中,根据不同的条件进入到不同的语句块进行执行。Python中的分支结构只有这一种,不像C#,Java等语言中还有switch语句。if,elif 和 else 是Python的关键字,不能用于定义其它标识符。

Python中的if-else语句

一、语法结构

Python中标准的if-else语句语法结构如下:

if 条件1:    # 语句块1elif 条件2:    # 语句块2... # 可以有多个elifelse:    # else语句块

要注意:

(1)Python是使用缩进来表示代码层级结构的,不能使用{}来表示语句块,同级的语句缩进量应相同;

(2)每个if-elif后都要紧跟一个条件表达式;

(3)如果相应的条件为True,则相应的语句块得到执行,而其它的语句块就不会再被执行;

(4)任何一个语句块被执行后,程序就会到if..elif..else后面的代码去执行;

(5)如果if-elif中的任何条件都不为True,则会执行else后的语句块;

(6)elif和else是可选的,可以有多个elif,也可以没有,else也可以有,也可以没有,但在一个基本的if..elif..else中只能有一个else。

(7)Python跟其它语言不通,if语句的条件不要放在括号中。

其执行过程可以使用下图来表示:

Python if-elif-else执行过程

二、if语句示例

1、只有if语句

x = 10
if x==0:
    print(x,"是一个偶数。")
print("程序执行完毕。")

输出结果:

10是一个偶数。
程序执行完毕。

2、if..else

x = 13
if x % 2 == 0:
    print(x,"是一个偶数。")
else:
    print(x, "是一个奇数。")
print("程序执行完毕。")

输出结果:

13是一个奇数。
程序执行完毕。

3、if...elif...else

输入一个分数,输出对应的等级(优秀,良好,中等,及格,不及格)

score = input("请输入分数:") #输入数据
score = int(score# 把字符串转换为整数

if score > 100 or score < 0:
    print("分数输入不合理。")
elif score >= 90:
    print("优秀")
elif score >= 80:
    print("良好")
elif score >= 70:
    print("中等")
elif score >= 60:
    print("及格")
else:
    print("不及格")

程序执行情况及输出结果:

请输入分数:83
良好

4、嵌套使用情况

x = input("请输入一个整型数字:")
x = int(x)

if x > 0:
    print("你输入的是正整数。")
    if x % 2 == 0:
        print("该数字是偶数。")
    else:
        print("该数字是奇数。")
elif x < 0:
    print("你输入的是一个负整数。")
    if x % 3 == 0:
        print("该数可以被3整除。")
    if x % 5 == 0:
        print("该数也可以被5整除。")
    else:
        if x % 2 == 0:
            print("该数字是不能被5整除的偶数。")
        else:
            print("该数字是不能被5整除的奇数。")
else:
    print("你输入的数字是0.")

执行情况

请输入一个整型数字:-6
你输入的是一个负整数。
该数可以被3整除。
该数字是不能被5整除的偶数。

请输入一个整型数字:8
你输入的是正整数。
该数字是偶数。

请输入一个整型数字:5
你输入的是正整数。
该数字是奇数。

请输入一个整型数字:-9
你输入的是一个负整数。
该数可以被3整除。
该数字是不能被5整除的奇数。

请输入一个整型数字:0
你输入的数字是0.
上面是5次测试运行的情况。

在实际应用过程中,当分支结构比较复杂时,特别要注意,if,elif和else之间的匹配问题,否则会出错或得不到预期的结果。

5、写在一行中的if-else语句

在2、中,判断一个数是否为偶数的写法也可以写到同一行上。

x = 13
print(x, "是偶数" if x %2 == 0 else "是奇数")

输出结果

13 是奇数

if语句也可以写在一行中:

x = 10
if x > 0: print("x是正数")

三、if..elif..else使用中的常见错误

下图中给出了一些使用过程中可能犯的错误

Python中if-elif-else语句使用过程中常见错误类型

本文(完)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表