Pyhton异常的练习题
练习题:
1. 简单使用异常处理,输入两个数a,b , 其中b必须为零,进行a/b的算式,让你的程序抛出“被除数不能为零”的异常。
try:
x = int(input('请输入第一个数'))
y = int(input('请输入第二个数字'))
print(x / y)
y = x + '5'
print(x)
s = input('输入一个数')
except (ZeroDivisionError,TypeError) as e:
print(e)
2.编写一个计算减法的方法,自己输入两个数,当第一个数小于第二个数时,抛出“被减数不能小于减数"的异常。
def jianfa(a,b):
if a<b:
raise BaseException('被减数不能小于减数')
#return 0
else:
return a-b
try:
a=int(input())
b=int(input())
print(jianfa(a, b))
print("没遇到自己定义的错误") #不打印
except:
print("被减数不能小于减数")
finally:
print("OK")
- 使用异常处理try … except… 打开一个不存在的文件。
try:
with open('non_exist.txt',mode='r') as f1:
print('file opend!')
f1.close()
except:
print('file is not exist!')
print('DONE!')
- 使用异常处理猜数字游戏,输入非整数,抛出异常。
题目就是使用一个随机函数得到一个整数,然后自己输入一个整数,使用异常判断你输入的整数是比随机数大时输出“you have big number!”,如果小则输出“you have small number!”,直到找出那个随机数并输出bingo!。
import random
flag = False
while(flag == False):
result = random.randint(1, 5)
try:
number = int(input('input you number:'))
if number == result:
print('bingo!')
flag = True
elif number > result:
print('you have big number!')
else:
print('you have small number!')
except:
print('please input integer!')
- 定义一个函数func(lis) lis:为列表,lis= [133, 88, 22, 35, 232, 66, 11, 44,56],
返回列表小于100,且为偶数的数。输出列表
def func(lis):
lst = []
for i in lis:
if i < 100 and i % 2 == 0:
lst.append(i)
return lst
lis = [133, 88, 22, 35, 232, 66, 11, 44,56]
print(func(lis))