您现在的位置: 主页 > 上位机技术 > python > 《python核心教程2》第十章练习
本文所属标签:
为本文创立个标签吧:

《python核心教程2》第十章练习

来源:net 网络用户发布,如有版权联系网管删除 2019-02-25 

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))

108.改进的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))



              查看评论 回复



嵌入式交流网主页 > 上位机技术 > python > 《python核心教程2》第十章练习
 一个 函数 异常

"《python核心教程2》第十章练习"的相关文章

网站地图

围观()