成绩大于100或者小于0建立一个异常类在输入的时候进行判断
时间: 2023-06-07 11:07:32 浏览: 118
好的,你的问题是关于建立一个异常类来判断成绩是否大于100或小于0。是的,这是一个常见的需求,因为成绩通常范围在0到100之间,如果输入了无效的成绩,程序应该抛出一个异常来提示用户。
这里给你一个Python的实现示例:
```python
class ScoreOutOfRangeError(Exception):
def __init__(self, score):
self.score = score
def __str__(self):
return 'Invalid score: {}'.format(self.score)
def check_score(score):
if score < 0 or score > 100:
raise ScoreOutOfRangeError(score)
try:
score = float(input('请输入成绩:'))
check_score(score)
print('成绩合法')
except ScoreOutOfRangeError as e:
print('成绩不合法:', e)
except ValueError:
print('请输入一个数字')
```
这个代码定义了一个异常类`ScoreOutOfRangeError`,它包含了一个成绩属性`score`,并在初始化时接受一个参数。
`check_score`函数用于检查输入的成绩是否合法,如果不合法就抛出`ScoreOutOfRangeError`异常。在主程序中,我们先尝试将输入转为数字,然后调用`check_score`函数进行检查。如果输入的成绩不合法,则会捕获`ScoreOutOfRangeError`异常并输出相应的错误信息;如果输入的不是一个数字,则会捕获`ValueError`异常并输出提示信息。如果输入的成绩合法,则会输出“成绩合法”。
希望这个代码示例能够对你有所帮助,如果还有其他问题,请随时问我。
阅读全文