Python中else的三种使用场景

目录

判断语句

这是最常见的用法,当if语句中的条件不满足时,将执行else语句中的代码。

a = False
if a:
    print("a为真")
else:
    print("a为假")

循环语句

如果else子句紧接在循环语句的后面,那么在以下两种情况将会执行else子句的代码:
当循环体没有执行break的时候,即循环体正常结束

print("两次输入机会")
for i in range(2):
    num = int(input("请输入一个数字:"))
    if 10 == num:
        print("10 == num,触发break,不会执行else子句")
        break
else:
    print("循环体没有执行break语句,执行else子句")
print("程序结束")

执行代码:
当触发break时,不会执行else子句:

两次输入机会
请输入一个数字:1
请输入一个数字:10
10 == num,触发break,不会执行else子句
程序结束

当没有触发break时,执行else子句:

两次输入机会
请输入一个数字:2
请输入一个数字:3
循环体没有执行break语句,执行else子句
程序结束

当while循环体完全不执行时也会执行紧跟在后面的else子句

while False:
    pass
else:
    print("循环体不执行,我也会执行")
# 执行后的输出结果:
# 循环体不执行,我也会执行

异常处理

当没有发生异常的时候会执行紧跟在异常处理代码后面的else子句

num1 = int(input("输入一个整数:"))
num2 = int(input("输入另外一个整数:"))
print('-'*20)
try:
    print("{}/{}=".format(num1,num2),num1//num2)
except ZeroDivisionError:
    print("输入非法,ZeroDivisionError")
else:
    print("输入合法")
print("程序结束")

代码执行: 当没发生异常时:

输入一个整数:2
输入另外一个整数:1
----------------------------------------
2/1= 2
输入合法
程序结束

发生异常时:

输入一个整数:2
输入另外一个整数:0
----------------------------------------
输入非法,ZeroDivisionError
程序结束

总结

else子句的触发条件:

  • 在判断语句中,当if语句条件不满足时会就执行else子句的代码
  • 在循环语句中,当循环体没有执行或者循环体里执行了break语句
  • 在异常处理中,当没有发生异常时会执行else子句

以上就是Python中else的三种用法的详细内容,更多关于Python else用法的资料请关注我们其它相关文章!

(0)

相关推荐

  • python中if及if-else如何使用

    if 结构 if 结构允许程序做出选择,并根据不同的情况执行不同的操作 基本用法 比较运算符 根据 PEP 8 标准,比较运算符两侧应该各有一个空格,比如:5 == 3. PEP8 标准 ==(相等):如果该运算符两侧的值完全相同则返回 True !=(不等):与相等相反 print(5 == '5') print(True == '1') print(True == 1) print('Eric'.lower() == 'eric'.lower()) >(大于):左侧大于右侧则输出 True

  • 在python中利用try..except来代替if..else的用法

    在有些情况下,利用try-except来捕捉异常可以起到代替if-else的作用. 比如在判断一个链表是否存在环的leetcode题目中,初始代码是这样的 # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = x # self.next = None class Solution(object): def hasCycle(self, head):

  • Python while循环使用else语句代码实例

    这篇文章主要介绍了Python while循环使用else语句代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python while 循环中使用 else 语句: else:表示 while 中的语句正常执行完,然后执行 else 语句的部分. 示例: # while 判断条件: # 一行语句 或 多行语句组 # else: # 一行语句 或 多行语句组 # ''' 程序: a = 4 while a < 6: print(a) a

  • python else语句在循环中的运用详解

    在学习python循环语句的时候,发现else竟然可以和循环语句使用,但是它却与if中else语句的运行完全不同,有时候你真的感觉掉进这个else陷阱里了,完全不知道该怎么用,那么现在咱们一起去看看吧 一.循环_else示例 1.while_else的运用 # 定义外循环计数器 i = 1 # 循环1-10每个数字 while i <= 10: # 定义内循环计数器 j = 1 # 循环1-5每个数字,或者说循环5次 while j <= 5: # 判断1-10之间的数/2是否有余数 if i

  • Python列表解析配合if else的方法

    用习惯列表解析之后会觉得超级酷,所以在尝试使用列表解析,把循环什么的写在一行里面.使用if的时候什么时候必须要有else,什么时候可以没有else一直没搞明白,直到今天!待我缓缓道来: 列表解析总共有两种形式: 1. [i for i in range(k) if condition]:此时if起条件判断作用,满足条件的,将被返回成为最终生成的列表的一员. 2. [i if condition else exp for exp]:此时if...else被用来赋值,满足条件的i以及else被用来生

  • Python循环中else,break和continue的用法实例详解

    本文实例讲述了Python循环中else,break和continue的用法.分享给大家供大家参考,具体如下: 在看Python的文档的时候看到了for和while语句和C语言中有一个最大的区别-可以有一个可选的else语句.这个语句的执行触发机制让我不大明白,通过代码测试才了解了什么情况下触发else语句."凡存在,皆合理",Python的设计者肯定是有他的目的,现在咱们来探究一番. 以for语句为例,开发环境Python3.4. Python循环中的else作用 循环中else的存

  • 详解Python if-elif-else知识点

    有的时候,一个 if - else - 还不够用.比如,根据年龄的划分: 条件1:18岁或以上:adult 条件2:6岁或以上:teenager 条件3:6岁以下:kid Python if-elif-else知识点 if age >= 18: print 'adult' else: if age >= 6: print 'teenager' else: print 'kid' 这样写出来,我们就得到了一个两层嵌套的 if - else - 语句.这个逻辑没有问题,但是,如果继续增加条件,比如

  • python for和else语句趣谈

    老婆给当程序员的老公打电话:"下班顺路买一斤包子带回来,如果看到卖西瓜的,买一个."当晚,程序员老公手捧一个包子进了家门--老婆怒道:"你怎么就买了一个包子?"老公答曰:"因为看到了卖西瓜的." 程序员买西瓜的笑话可能大部分读者都知道,今天写的这篇文章和这个笑话有一定的关系. 任何编程语言都提供了 if...else... 语句,表示如果(if)满足条件就做某件事,否则(else)就做另外一件事: if a==b: print("tru

  • python使用for...else跳出双层嵌套循环的方法实例

    背景 周末在写一个爬虫时,遇到这样一种场景:从搜索结果中下载指定数量的文件 例如:搜索结果中共分为10页展示,加起来一共50条数据,现在要做的是从50条数据中下载指定数量的数据 为了实现这个功能,开始我是这样想的: 1.依次遍历10页数据,并且把每页的数据都追加到同一个列表中,这样的话,请求完10页数据后,这个列表中就包含了所有结果: 2.然后再从这个大列表中提取指定数量的数据进行下载即可 这种方法确实可行,但是在运行过程中发现一个问题:程序运行速度太慢了,原因是无论你想下载多少条数据,都会先把

  • 浅谈对python中if、elif、else的误解

    今天下午在练习python时用了"if...if...else..."的分支结构,结果运行出来吓我一跳.原来我想当然的认为"if...if...else..."是"if...elif...else..."的简化结构(这个错误的看法好像还是从学C语言继承过来的).学了这么多天才发现其中的区别啊.下面先说说python,然后再说一下C语言里面的if语句. "python中通过if.elif.else等保留字提供单分支.二分支和多分支结构.&

  • Python try except else使用详解

    在原本的try except结构的基础上,Python 异常处理机制还提供了一个 else 块,也就是原有 try except 语句的基础上再添加一个 else 块,即try except else结构. 使用 else 包裹的代码,只有当 try 块没有捕获到任何异常时,才会得到执行:反之,如果 try 块捕获到异常,即便调用对应的 except 处理完异常,else 块中的代码也不会得到执行. 举个例子: try: result = 20 / int(input('请输入除数:')) pr

随机推荐