第九章 异常处理及程序调试
实例一:模拟幼儿园分苹果
- 代码:
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()
- 结果:
====================分苹果了======================
请输入苹果的个数:10
请输入来了几个小朋友:10
10 个苹果,平均分给 10 个小朋友,每人分 1 个。
实例二:模拟幼儿园分苹果(除数不能为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个小朋友分!")
- 结果:
====================分苹果了======================
请输入苹果的个数:10
请输入来了几个小朋友:0
出错了~——~——苹果不能被0个小朋友分!
实例三:模拟幼儿园分苹果(每个人至少分到一个苹果)
- 代码:
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)
- 结果:
====================分苹果了======================
请输入苹果的个数:5
请输入来了几个小朋友:10
出错了~——~—— 苹果太少了,不够分...
实例四:模拟幼儿园分苹果(应用断言调试)
- 代码:
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__':
# division()
try:
division()
except AssertionError as e:
print("\n输入有误:",e)
- 结果:
====================分苹果了======================
请输入苹果的个数:5
请输入来了几个小朋友:10
输入有误: 苹果不够分
浙公网安备 33010602011771号