Python努力学习第四天

今天我学会了try和except异常捕获的初步使用方法
假如程序要求输入一个数字,试图判定数字的大小,而你却输入了英文,导致程序直接关闭,怎么办?
这里我先写一个小程序:

# coding:utf-8
point=input("请输入考试成绩")
if int(point) > 60 and int(point) <= 100:  #当分数大于60小于等于100时
	print("你及格了")  #输出"你及格了"
elif int(point) < 60 and int(point) >= 0:  #当分数小于60大于等于0时
	print("你没及格")

这里可以看到我写了一个小检测程式,判定你是否及格了,若我输入英文,汉字,甚至小数呢?

ValueError: invalid literal for int() with base 10: 'point'

那么,报错来了,Python并不能把你输入的内容转换成int整数类型。
这时候,我们就需要一个异常捕获让程序做点什么了。

# coding:utf-8
point=input("请输入考试成绩")
try:  #尝试做以下命令
	point=int(point)  #试图转换point为int整数存储
except(ValueError)as point:  #当try包含的与point有关的程式发生了"ValueError"错误时
	print("你的输入不正确,请重新输入")  #输出提示
if int(point) > 60 and int(point) <= 100:  #当分数大于60小于等于100时
	print("你及格了")  #输出"你及格了"
elif int(point) < 60 and int(point) >= 0:  #当分数小于60大于等于0时
	print("你没及格")

至此,你输入了非整数内容后,都会提示输入不正确。
except有一个缺点,当捕获异常报错并执行except包含的命令行后,程序将直接关闭,无法使用while循环改变。
在括号内可输入多种错误类型,列如:
ValueError 参数无效错误
NameError 未声明定义变量错误
TypeError 类型无效错误
SyntaxError 语法错误
IndentationError 缩进格式错误
跟一般语法一样,用英式逗号隔开

except(ValueError,NameError)as x:

以上是我学会的except基本初步使用方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值