用户从键盘输入若干个数字,程序输出这些数字的求和,当用户输入的数字大于100或小于0时,程序立即停止运行,并提示"输入的整数超出范围" 创建异常类NumberError 创建类AddSum,创建对象时将实例变量total初始化为0,定义addnum方法用于将传入的整数叠加到total中,如果传入的整数number的值大于100或小于0则抛出NumberError异常,同时定义实例方法getPrice用于获取total的值 要求实现以下三种输出结果
时间: 2023-12-12 21:05:29 浏览: 47
以下是代码实现:
```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:
number = int(input("请输入数字:"))
addsum.addnum(number)
except NumberError as e:
print(e)
break
except ValueError:
print("请输入整数")
# 输出结果
print("总和为:", addsum.getPrice())
```
输出结果1:
```
请输入数字:10
请输入数字:20
请输入数字:30
请输入数字:40
请输入数字:50
请输入数字:-1
输入的整数超出范围
总和为: 150
```
输出结果2:
```
请输入数字:100
请输入数字:-10
输入的整数超出范围
总和为: 100
```
输出结果3:
```
请输入数字:a
请输入整数
请输入数字:b
请输入整数
请输入数字:c
请输入整数
请输入数字:d
请输入整数
请输入数字:101
输入的整数超出范围
总和为: 0
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)