• Python 程序的输出 | 第十套(异常处理)


    • 难度级别: 简单

    注意: 所有程序都在 python 版本 3 及更高版本上运行。

    1)以下程序的输出是什么?

    1. data = 50
    2. try:
    3. data = data/0
    4. except ZeroDivisionError:
    5. print('Cannot divide by 0 ', end = '')
    6. else:
    7. print('Division successful ', end = '')
    8. try:
    9. data = data/5
    10. except:
    11. print('Inside except block ', end = '')
    12. else:
    13. print('HY', end = '')

    a) Cannot divide by 0 HY
    b) Cannot divide by 0
    c) Cannot divide by 0 Inside except block HY
    d) Cannot divide by 0 Inside except block

    答: (a)
    说明:  else 代码块只有在 try 块没有发生异常时才会执行。

    2) 以下程序的输出是什么?

    1. data = 50
    2. try:
    3. data = data/10
    4. except ZeroDivisionError:
    5. print('Cannot divide by 0 ', end = '')
    6. finally:
    7. print('Haiyong ', end = '')
    8. else:
    9. print('Division successful ', end = '')

    a) Runtime error
    b) Cannot divide by 0 Haiyong
    c) Haiyong Division successful
    d) Haiyong

    答: (a)
    解释:  python 中不允许 finally 块后面的 else 块。使用这种格式时,Python 会抛出语法错误。

    3) 以下程序的输出是什么?

    1. value = [1, 2, 3, 4]
    2. data = 0
    3. try:
    4. data = value[4]
    5. except IndexError:
    6. print('HY', end = '')
    7. except:
    8. print('Haiyong ', end = '')

    a) Haiyong
    b) HY
    c) HY Haiyong
    d) 编译错误

    答: (b)
    解释: 一次只捕获一个异常,即使try 块中的throw 异常很可能属于多个异常类型。

    4) 以下程序的输出是什么?

    1. value = [1, 2, 3, 4]
    2. data = 0
    3. try:
    4. data = value[3]
    5. except IndexError:
    6. print('HY IndexError ', end = '')
    7. except:
    8. print('Haiyong IndexError ', end = '')
    9. finally:
    10. print('Hai IndexError ', end = '')
    11. data = 10
    12. try:
    13. data = data/0
    14. except ZeroDivisionError:
    15. print('HY ZeroDivisionError ', end = '')
    16. finally:
    17. print('Hai ZeroDivisionError ')

    a) HY ZeroDivisionError HY ZeroDivisionError
    b) HY ZeroDivisionError Hai ZeroDivisionError
    c) Hai IndexError HY ZeroDivisionError Hai ZeroDivisionError
    d) Hai IndexError HY ZeroDivisionError

    答: (c)
    解释: 无论是否发生异常,finally 代码块总是被执行。如果发生异常,则先执行 except 块,然后执行 finally 块。

    5) 以下程序的输出是什么?

    1. value = [1, 2, 3, 4, 5]
    2. try:
    3. value = value[5]/0
    4. except (IndexError, ZeroDivisionError):
    5. print('Haiyong ', end = '')
    6. else:
    7. print('HY', end = '')
    8. finally:
    9. print('Hai ', end = '')

    a) Compilation error
    b) Runtime error
    c) Haiyong HY Hai
    d) Haiyong Hai

    答: (d)
    解释:  python 中定义了 try 之间的 finally 块之间的 else 块。如果 try 块中没有异常,则执行 else,然后执行 finally 块。可以定义一个except块来捕获多个异常。

    如果本文对你有帮助,别忘记给我个3连 ,点赞,转发,评论,

    关注与私信博主(08)学习更多Python知识与技巧,课件,源码,安装包,还有最新大厂面试资料等等等
    咱们下期见。

    收藏 等于白嫖,点赞才是真情。
     

  • 相关阅读:
    mysql学习笔记--单张表上的增删改查
    第十一章《Java实战常用类》第1节:包装类
    寻找多数元素
    Useful Policy Invariant Shaping from Arbitrary Advice论文翻译导读分析
    SpringBoot实战:登录管理
    机器学习-随机森林算法预测房租模型
    计算机毕业设计php_thinkphp_vue的校园论坛网站
    网络协议三要素
    Redis缓存过期和和内存淘汰策略
    【TES641】基于VU13P FPGA的4路FMC接口基带信号处理平台
  • 原文地址:https://blog.csdn.net/m0_73720982/article/details/127037564