# 自定义异常类
class NumberOutOfRange(Exception):
pass
# 存储大于2且小于30的数的立方数
cubes = []
for i in range(3, 31):
if i ** 3 > 30:
break
cubes.append(i ** 3)
# 输入数字并检查是否符合要求
while True:
try:
num = int(input("请输入一个大于2且小于30的数字:"))
if num < 3 or num > 29:
raise NumberOutOfRange
print("{}的立方数是{}".format(num, num ** 3))
break
except ValueError:
print("输入错误,请输入一个整数。")
except NumberOutOfRange:
print("输入错误,请输入一个大于2且小于30的数字。")
此程序首先会创建一个列表cubes
,用于存储大于2且小于30的数的立方数。接下来,程序会提示用户输入一个数字,并通过try-except
语句检查输入是否符合要求。如果输入的数字小于3或大于29,则会抛出自定义异常类NumberOutOfRange
。如果输入的是一个非整数,则会抛出内置的ValueError
异常。如果输入符合要求,程序会输出该数字的立方数。
这种方法使用自定义异常类可使程序更加清晰、易读,同时也更容易进行错误处理。
下一篇:编写程序调用另一个App元素