用户从键盘输入若干个数字,程序输出这些数字的求和,当用户输入的数字大于100或小于0时,程序立即停止运行,并提示"输入的整数超出范围" 创建异常类NumberError 创建类AddSum,创建对象时将实例变量total初始化为0,定义addnum方法用于将传入的整数叠加到total中,如果传入的整数number的值大于100或小于0则抛出NumberError异常,同时定义实例方法getPrice用于获取total的值 要求实现以下三种输出结果
时间: 2024-02-12 22:06:59 浏览: 66
下面是实现上述要求的代码:
```python
class NumberError(Exception):
pass
class AddSum:
def __init__(self):
self.total = 0
def addnum(self, number):
if number > 100 or number < 0:
raise NumberError("输入的整数超出范围")
self.total += number
def getPrice(self):
return self.total
a = AddSum()
try:
while True:
number = int(input("请输入一个整数:"))
a.addnum(number)
except NumberError as e:
print(e)
except ValueError:
print("输入的不是整数")
finally:
print("数字总和为:", a.getPrice())
```
这段代码中,我们首先定义了一个异常类 `NumberError` 用于表示数字超出范围的异常。然后,我们创建了一个名为 `AddSum` 的类,其中实例变量 `total` 表示当前数字总和,使用 `addnum` 方法将传入的整数叠加到 `total` 中。如果传入的整数超出了范围,就会抛出 `NumberError` 异常。
在主程序中,我们创建了一个 `AddSum` 的对象 `a`,然后使用一个无限循环来读取用户的输入。如果用户输入了一个超出范围的整数,就会抛出 `NumberError` 异常,然后输出错误信息。如果用户输入的不是整数,就会抛出 `ValueError` 异常,然后输出错误信息。无论如何,最后都会输出当前数字总和。
阅读全文