·输入一个学生成绩,并转换为 A 优秀、 B 良好、 C 合格、 D 不及格的形式,将学生成绩打印出来。 .使用 try / except 结合 assert 断言处理分数输入不合理的情况。 请输入你的成绩:90成绩为: A 请输入你的成绩:50 成绩为: D ,不及格!!! 请输入你的成绩: p 输入非阿拉伯数字! 请输入你的成绩:120 输入数字大于100!
时间: 2024-02-28 15:52:51 浏览: 135
好的,我明白了。下面是代码实现:
```python
def score_trans():
while True:
try:
score = input("请输入你的成绩:")
score = int(score)
assert score >= 0 and score <= 100, "输入数字不在合理范围内!"
if score >= 90:
print("成绩为:A 优秀!")
elif score >= 80:
print("成绩为:B 良好!")
elif score >= 60:
print("成绩为:C 合格!")
else:
print("成绩为:D 不及格!")
break
except ValueError:
print("输入非阿拉伯数字!")
except AssertionError as e:
print(e)
score_trans()
```
在该代码中,我们使用 `try / except` 结合 `assert` 断言处理了分数输入不合理的情况。如果输入的字符串不能转换为整数,则会抛出 `ValueError` 异常,并提示用户输入非阿拉伯数字;如果输入的数字不在 0~100 范围内,则会抛出 `AssertionError` 异常,并提示用户输入数字不在合理范围内。如果输入的数字符合要求,则会根据分数的高低输出相应的等级。
阅读全文