程序的异常处理
Python使用try-except语句实现异常处理,其基本语法格式如下:
try:
<语句块1>
except NameError:
<语句块2>
语句块1是正常执行的程序内容,当发生异常时执行except保留字后面的语句块,为上述小程序增加异常处理,代码如下:
try:
num=eval(input("请输入一个整数: "))
print(num**2)
except NameError:
print("输入错误,请输入一个整数!")
该程序执行结果如下:
请输入一个整数:no
输入错误,请输入一个整数!
例题:
4.1:猜数字游戏。在程序中预设一个0——9之间的整数,让用户通过键盘输入所猜数字,如果大于预设的数字,现实“遗憾,太大了”;小于预设的数。显示“遗憾,太大了”,如此循环,直至猜中该数。显示“预测N次,你猜中了”,其中N是用户输入的次数。
代码如下:
n=0
yusheshu = 7
for n in range(9):
guess=int(input("请输入一个0--9的整数: "))
n=n+1
if guess == yusheshu:
print("恭喜!第{}次你猜中了!".format(n) )
break
elif guess < yusheshu:
print('太小了!')
else:
print('太大!')
4.7:
请用异常处理改造实例4.1,使其能够接受并处理用户的任何输入
代码如下:
try:
n=0
yusheshu = 7
for n in range(9):
guess=int(input("请输入一个0--9的整数: "))
n=n+1
if guess == yusheshu:
print("恭喜!第{}次你猜中了!".format(n))
break
elif guess < yusheshu:
print('太小了!')
else:
print('太大!')
except NameError as err:
print(err,'is not number')
except ValueError as err:
print(err,'is not specific range.')
n=0
yusheshu = 7
for n in range(9):
guess=int(input("请输入一个0--9的整数: "))
n=n+1
if guess == yusheshu:
print("恭喜!第{}次你猜中了!".format(n))
break
elif guess < yusheshu:
print('太小了!')
else:
print('太大!')
except NameError as err:
print(err,'is not number')
except ValueError as err:
print(err,'is not specific range.')
else:
print('success')
finally:
print('done')
print('success')
finally:
print('done')