《python核心教程2》第十章 练习
2019-02-25 16:14:54来源:博客园 阅读 ()
10-6.改进的open()。为内建的open()函数创建一个封装。使得成功打开文件后,返回文件句柄:若打开失败则返回给调用者None,
而不是生成一个异常。这样你打开文件就不需要额外的异常处理语句。
1 def openfile(file): 2 try: 3 f = open(file) 4 except IOError: 5 return None 6 return file 7 8 if __name__ == '__main__': 9 filename = input('Filename:') 10 print(openfile(filename))
10–8.改进的raw_input()。本章的开头,我们给出了一个”安全”的float()函数,它建立在内建函数float()上,可以检测并处理float()可能会引发的两种不同异常。
同样,raw_input()函数也可能会生成两种异常,EOFError(文件末尾EOF,在Unix下是由于按下了Ctrl+D在Dos下是因为 Ctrl+Z)或是KeyboardInterrupt(取消输入,
一般是由于按下了Ctrl+C)。请创建一个封装函数safe_input(),在发生异常时返回None。
1 def safe_input(object): 2 3 try: 4 retval = float(object) 5 except (EOFError, KeyboardInterrupt): 6 retval = None 7 return retval 8 9 if __name__ == '__main__': 10 print(safe_input(input("Input: ")))
10-9.改进的math.sqrt()。math模块包含大量用于处理数值相关运算的函数和常量。不幸的是,它不能识别复数,所以我们创建了cmath模块来支持复数相关运算。
请创建一个safe_sqrt()函数,它封装math.sqrt()并能处理负值,返回一个对应的复数。
1 import math, cmath 2 3 def safe_sqrt(x): 4 try: 5 num = math.sqrt(x) 6 except ValueError: 7 num = cmath.sqrt(x) 8 return num 9 10 if __name__ == '__main__': 11 x = float(input('Number: ')) 12 print(safe_sqrt(x))
原文链接:https://www.cnblogs.com/QQ269075164/p/10431335.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Python练手例子(15)
- Python基础总结之初步认识---class类的继承(终)。第十六天 2019-08-13
- python3基础之“小练习(3)” 2019-08-13
- Python 用(无脑 and 有脑)方式解决小练习 2019-07-24
- python实现数据分页小练习 2019-07-24
- python3 时间模块 random模块之两个小练习 2019-05-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash