任务 8 异常处理
习题答案
1. 实现代码,让用户输入两个数字,并计算第一个数除以第二个数的结果,需要加入
try/except/else异常处理代码; # function of task exercise 8-1 def divide(a, b): try: ret = a / b except Exception as err: print(err) else: print(\ return ret # test divide function divide(1, 2) divide(1, 0) divide(\2. 定义一个函数func(filename) filename:文件的路径,函数功能:打开文件,并且返回
文件内容,最后关闭,用异常来处理可能发生的错误。
# function of task exercise 8-2 def func(filename): try: with open(filename) as fp: content = fp.read() print(content) except IOError as err: print(err) # test func(filename) func(\func(\3. 定好一个函数func(listinfo) ,listinfo 为一个1到100的整数列表,返回一个列表
包含偶数,并且用assert来断言返回结果和类型。
# function of task exercise 8-3 def func(listinfo): ret = [] for item in listinfo: if item % 2 == 0: ret.append(item) return ret # test func(listinfo) ret = func(list(range(1, 101))) assert ret == list(range(2, 101, 2)) assert type(ret) is list ret = func(list(range(100)))
assert ret == list(range(2, 101, 2)) assert type(ret) is list