首 页IT知识库收藏内容
当前位置:翔宇亭IT乐园IT知识库Python

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

减小字体 增大字体 作者:本站  来源:本站整理  发布时间:2020-07-03 06:08:00

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

Python中的if-else语句

一、语法结构

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

if 条件1:
    # 语句块1
elif 条件2:
    # 语句块2
... # 可以有多个elif
else:
    # 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语句使用过程中常见错误类型

本文(完)


尊重劳动人民的血汗成果,如需转载请注明出处和本文链接:翔宇亭IT乐园(http://www.biye5u.com)

本文链接地址:http://www.biye5u.com/article/python/2020/6464.html

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2024 biye5u.com. All Rights Reserved.