Python中可以使用以下几种方式来处理异常:
try-except语句:可以捕获异常并进行处理。
try-except-else语句:可以在没有发生异常的情况下执行一些操作。
try-except-finally语句:无论是否发生异常,都会执行finally语句中的代码。
raise语句:可以手动抛出异常。
assert语句:可以用来检查某个条件是否满足,如果不满足则抛出异常。
这些方式都可以用来处理异常,选择哪种方式取决于具体的情况。通常情况下,使用try-except语句即可满足需求。如果需要在没有异常的情况下执行一些操作,可以使用try-except-else语句;如果需要无论是否发生异常都执行一些操作,可以使用try-except-finally语句;如果需要手动抛出异常,可以使用raise语句;如果需要检查某个条件是否满足,可以使用assert语句。以下为使用try-except语句来处理异常的示例。
1、温度转换
while True:
try:
temp = input("请输入温度值及单位(例如:32C或者90F):")
degree = int(temp[:-1]) # 获取温度值
unit = temp[-1] # 获取温度单位
if unit.upper() == "C":
result = degree * 1.8 + 32
print("转换后的温度为:%.2fF" % result)
elif unit.upper() == "F":
result = (degree - 32) / 1.8
print("转换后的温度为:%.2fC" % result)
else:
print("输入格式有误,请输入正确的温度值及单位!")
except:
print("输入格式有误,请输入正确的温度值及单位!")
2、猜数
import random
rand_num = random.randint(1, 100) # 产生一个1到100的随机数
while True:
try:
num = int(input("请输入一个整数:"))
if num < rand_num:
print("您输入的数字太小了!")
elif num > rand_num:
print("您输入的数字太大了!")
else:
print("恭喜您,猜对了!")
break
except:
print("输入有误,请输入一个整数!")
3、输入3个整数:
num_list = []
try:
num_str = input("请输入3个整数(用空格或逗号分隔):")
num_str_list = num_str.replace(",", " ").split() # 将逗号替换为空格,然后用空格分隔
if len(num_str_list) != 3:
raise ValueError("请输入3个整数")
for num in num_str_list:
if not num.isdigit(): # 判断输入是否为整数
raise ValueError("请输入整数")
num_list.append(int(num))
except ValueError as e:
print(e)
else:
print(num_list)