python用户从键盘输入若干个数字,程序输出这些数字的求和,当用户输入的数字大于100或小于0时,程序立即停止运行,并提示"输入的整数超出范围" 创建异常类NumberError 创建类AddSum,创建对象时将实例变量total初始化为0,定义addnum方法用于将传入的整数叠加到total中,如果传入的整数number的值大于100或小于0则抛出NumberError异常,同时定义实例方法getPrice用于获取total的值 要求实现以下三种输出结果
时间: 2024-02-22 08:55:47 浏览: 80
Python 实现一行输入多个数字(用空格隔开)
5星 · 资源好评率100%
好的,我理解了你的问题,下面是代码实现:
```python
# 定义异常类NumberError
class NumberError(Exception):
pass
# 定义类AddSum
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
# 主程序
if __name__ == '__main__':
addSum = AddSum() # 创建AddSum对象
while True:
try:
num = int(input("请输入一个数字:"))
addSum.addnum(num) # 调用addnum方法进行数字叠加
except NumberError as e:
print(e)
break
except ValueError:
print("输入的不是数字,请重新输入")
else:
if num > 100 or num < 0:
print("输入的整数超出范围")
break
else:
print("当前数字的总和为:{}".format(addSum.getPrice()))
```
以上代码实现了一个类AddSum,将用户输入的数字叠加到实例变量total中,并定义了异常类NumberError用于处理输入的数字超出范围的情况。主程序中使用while循环实现了用户输入数字的功能,当输入数字超出范围时程序会立即停止运行并抛出异常,否则程序会输出当前数字的总和。输出结果如下:
输入数字在范围内:
```
请输入一个数字:1
当前数字的总和为:1
请输入一个数字:2
当前数字的总和为:3
请输入一个数字:3
当前数字的总和为:6
请输入一个数字:101
输入的整数超出范围
```
输入数字超出范围:
```
请输入一个数字:-1
输入的整数超出范围
```
阅读全文