编写一个程序进行一个班某门课程成绩的录入,能够控制录入成绩总人数,对录入成绩统计其及格人数和不及格人数。设计一个异常类,当输入的成绩小0分或大于100分时,抛出该异常类对象,程序将捕捉这个异常对象,并调用执行该异常类对象的toString()方法,该方法获取当前无效分数值,并返回一个此分数无效的字符串。 输入格式: 从键盘中输入学生人数n 从键盘中输入第1个学生的成绩 从键盘中输入第2个学生的成绩 ... 从键盘中输入第n个学生的成绩 (注:当输入的成绩无效时(即分数为小于0或大于100)可重新输入,且输出端会输出此分数无效的提醒。) 输出格式: 显示及格总人数 显示不及格总人数
时间: 2024-02-13 09:06:24 浏览: 106
好的,以下是Python实现的程序代码:
```python
class ScoreException(Exception):
def __init__(self, score):
self.score = score
def __str__(self):
return "无效分数:{}".format(self.score)
def main():
n = int(input("请输入学生人数:"))
passed = 0
failed = 0
for i in range(n):
while True:
try:
score = float(input("请输入第{}个学生的成绩:".format(i + 1)))
if score < 0 or score > 100:
raise ScoreException(score)
break
except ScoreException as e:
print(e)
if score >= 60:
passed += 1
else:
failed += 1
print("及格总人数:{}".format(passed))
print("不及格总人数:{}".format(failed))
if __name__ == '__main__':
main()
```
运行程序后,会先要求输入学生人数,然后依次输入每个学生的成绩。如果输入的成绩无效(小于0或大于100),程序会捕捉异常并输出无效分数的提示,要求重新输入。最后会统计及格人数和不及格人数,并输出结果。
希望能够解答您的问题,如果您还有其他问题,请随时提出。
阅读全文