作业2: 给定一个学生成绩列表,用整数数组表示,将其从外部输入的形式转化为机内表示并输出。要求输入的成绩为0-100的整数,若输入不符合要求则提示错误并要求重新输入,直到输入正确为止。最后输出转化后的机内表示形式(例如可以用特定的对象来封装成绩数据)。
时间: 2024-12-06 15:26:02 浏览: 5
2010(2)计算机基础期末考试试卷(A卷)-2.doc
作业2的目标是设计一个程序,该程序接收用户通过键盘输入的一组学生的成绩,这些成绩是以整数形式表示的,范围应该在0到100之间。如果用户的输入不符合这个范围,程序会提示用户输入错误,并要求重新输入,直到输入正确的成绩值。当所有成绩都验证无误后,将这些成绩转换成一种内部的数据结构,如自定义的学生Score对象,每个对象包含一个成绩字段。最终,程序会显示这些转换后的学生Score对象。
以下是简单的步骤描述:
1. 定义一个StudentScore类,包含一个私有成员变量score用于存储成绩。
2. 提供公共构造函数,接受整数作为输入,并检查是否在0-100范围内。
3. 创建一个主函数,循环接收用户输入,使用StudentScore类实例化对象。
4. 如果输入非法,显示错误消息并请求重新输入。
5. 当所有成绩都被有效输入后,输出整个学生Score对象列表。
下面是一个伪代码示例:
```python
class StudentScore:
def __init__(self, score):
if 0 <= score <= 100:
self.score = score
else:
raise ValueError("Score must be between 0 and 100.")
def main():
scores = []
while True:
try:
score_str = input("请输入一个成绩(0-100),或者输入'q'退出:")
if score_str.lower() == 'q':
break
score = int(score_str)
scores.append(StudentScore(score))
except ValueError as e:
print(e)
print("学生成绩的机内表示:")
for i, score_obj in enumerate(scores):
print(f"学生{i+1}:{score_obj.score}")
if __name__ == "__main__":
main()
```
阅读全文