当前位置: 首页 > news >正文

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

  • 难度级别: 简单

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

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

data = 50
try:
	data = data/0
except ZeroDivisionError:
	print('Cannot divide by 0 ', end = '')
else:
	print('Division successful ', end = '')

try:
	data = data/5
except:
	print('Inside except block ', end = '')
else:
	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) 以下程序的输出是什么?

data = 50
try:
	data = data/10
except ZeroDivisionError:
	print('Cannot divide by 0 ', end = '')
finally:
	print('Haiyong ', end = '')
else:
	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) 以下程序的输出是什么?

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

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

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

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

value = [1, 2, 3, 4]
data = 0
try:
	data = value[3]
except IndexError:
	print('HY IndexError ', end = '')
except:
	print('Haiyong IndexError ', end = '')
finally:
	print('Hai IndexError ', end = '')

data = 10
try:
	data = data/0
except ZeroDivisionError:
	print('HY ZeroDivisionError ', end = '')
finally:
	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) 以下程序的输出是什么?

value = [1, 2, 3, 4, 5]
try:
	value = value[5]/0
except (IndexError, ZeroDivisionError):
	print('Haiyong ', end = '')
else:
	print('HY', end = '')
finally:
	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知识与技巧,课件,源码,安装包,还有最新大厂面试资料等等等
咱们下期见。

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

相关文章:

  • 【Android入门】8、Service 后台线程、多线程、IntentService
  • 面向医学图像语义分割-MedISeg
  • puzzle(017.9)HueBots
  • SIM卡被锁怎么办
  • 腾讯云服务器有那么多的型号标准型,计算型,内存型等等,到底该如何选择?
  • 【Android入门】6、ContentProvider:跨程序的数据共享:访问其他 App、被其他 App 访问
  • 文献学习(part102-A)--Autoencoders
  • SS-Model【6】:U2-Net
  • 创新战略|工业企业如何应对颠覆式变革带来的挑战?
  • HashMap不安全后果及ConcurrentHashMap线程安全原理
  • 22_access 阶段
  • 如何位图转换矢量图或者数字油画底稿
  • 阿里巴巴面试题- - -多线程并发篇(三十八)
  • python java php一起考研资料文件下载系统 微信小程序
  • 超好理解的子网和超网
  • 【Leetcode】101. 对称二叉树
  • SegmentFault for Android 3.0 发布
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 【个人向】《HTTP图解》阅后小结
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Android优雅地处理按钮重复点击
  • CEF与代理
  • chrome扩展demo1-小时钟
  • java 多线程基础, 我觉得还是有必要看看的
  • JavaScript学习总结——原型
  • JAVA并发编程--1.基础概念
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • PHP 小技巧
  • Yii源码解读-服务定位器(Service Locator)
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 构建工具 - 收藏集 - 掘金
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • %check_box% in rails :coditions={:has_many , :through}
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (八)Flask之app.route装饰器函数的参数
  • (分布式缓存)Redis持久化
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (转)可以带来幸福的一本书
  • .net mvc 获取url中controller和action
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .Net中的集合
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • /etc/sudoers (root权限管理)
  • @JSONField或@JsonProperty注解使用
  • @staticmethod和@classmethod的作用与区别
  • @拔赤:Web前端开发十日谈