Python实验报告——第9章 异常处理及程序调试
实验报告
实例01:模拟幼儿园分苹果
代码如下:
def division(): '''功能:分苹果''' print('\n=============== 分苹果了 ===============\n') apple = int(input('请输入苹果的个数:')) children = int(input('请输入来了几个小朋友:')) result = apple//children remain = apple-result*children if remain>0: print(apple,'个苹果,平均分给',children,'个小朋友,每人分',result,'个,剩下',remain,'个。') else: print(apple,'个苹果,平均分给',children,'个小朋友,每人分',result,'个。') if __name__ == '__main__': division()
运行结果:
实例02:模拟幼儿园分苹果(除数不能为0)
代码如下:
def division(): '''功能:分苹果''' print('\n=============== 分苹果了 ===============\n') apple = int(input('请输入苹果的个数:')) children = int(input('请输入来了几个小朋友:')) result = apple//children remain = apple-result*children if remain>0: print(apple,'个苹果,平均分给',children,'个小朋友,每人分',result,'个,剩下',remain,'个。') else: print(apple,'个苹果,平均分给',children,'个小朋友,每人分',result,'个。') if __name__ == '__main__': try: division() except ZeroDivisionError: print('\n出错了 ~_~ ——苹果不能被0个小朋友分!')
运行结果:
实例03:模拟幼儿园分苹果(每个人至少分到一个苹果)
代码如下:
def division(): '''功能:分苹果''' print('\n=============== 分苹果了 ===============\n') apple = int(input('请输入苹果的个数:')) children = int(input('请输入来了几个小朋友:')) if apple < children: raise ValueError('苹果太少了,不够分...') result = apple // children remain = apple - result * children if remain > 0: print(apple, '个苹果,平均分给', children, '个小朋友,每人分', result, '个,剩下', remain, '个。') else: print(apple, '个苹果,平均分给', children, '个小朋友,每人分', result, '个。') if __name__ == '__main__': try: division() except ZeroDivisionError: print('\n出错了 ~_~ ——苹果不能被0个小朋友分!') except ValueError as e: print('\n出错了 ~_~ ——',e)
运行结果:
实例04:模拟幼儿园分苹果(应用断言调试)
代码如下:
def division(): '''功能:分苹果''' print('\n=============== 分苹果了 ===============\n') apple = int(input('请输入苹果的个数:')) children = int(input('请输入来了几个小朋友:')) assert apple >= children,'苹果不够分' result = apple // children remain = apple - result * children if remain > 0: print(apple, '个苹果,平均分给', children, '个小朋友,每人分', result, '个,剩下', remain, '个。') else: print(apple, '个苹果,平均分给', children, '个小朋友,每人分', result, '个。') if __name__ == '__main__': try: division() except AssertionError as e: print('\n输入有误:',e)
运行结果: