实现一个学生成绩管理软件:假设学生学号从1开始编号,最大的学号不超过100,管理学生学号、语文、数学、英语三科的成绩等信息,提供录入、查询、修改功能。
时间: 2023-06-19 17:07:44 浏览: 123
好的,我可以为您提供一个简单的学生成绩管理软件的实现思路:
1. 定义学生类,包含学号、姓名、语文、数学、英语成绩属性,并实现录入、查询、修改功能的方法。
2. 定义一个学生列表类,包含一组学生对象,并实现对学生列表的增、删、改、查功能。
3. 在主程序中,实例化学生列表对象,提供菜单选项供用户选择相应的操作,如录入、查询、修改、退出等。
以下是示例代码:
```python
class Student:
def __init__(self, id, name="", chinese=0, math=0, english=0):
self.id = id
self.name = name
self.chinese = chinese
self.math = math
self.english = english
def __str__(self):
return f"{self.id}\t{self.name}\t{self.chinese}\t{self.math}\t{self.english}"
def input(self):
self.name = input("请输入学生姓名:")
self.chinese = int(input("请输入语文成绩:"))
self.math = int(input("请输入数学成绩:"))
self.english = int(input("请输入英语成绩:"))
def modify(self):
self.name = input("请输入学生姓名:")
self.chinese = int(input("请输入语文成绩:"))
self.math = int(input("请输入数学成绩:"))
self.english = int(input("请输入英语成绩:"))
class StudentList:
def __init__(self):
self.students = []
def add(self):
id = len(self.students) + 1
student = Student(id)
student.input()
self.students.append(student)
print(f"学生信息已添加:{student}")
def delete(self):
id = int(input("请输入要删除的学生编号:"))
for student in self.students:
if student.id == id:
self.students.remove(student)
print(f"学生信息已删除:{student}")
return
print("未找到该学生")
def modify(self):
id = int(input("请输入要修改的学生编号:"))
for student in self.students:
if student.id == id:
student.modify()
print(f"学生信息已修改为:{student}")
return
print("未找到该学生")
def query(self):
id = int(input("请输入要查询的学生编号:"))
for student in self.students:
if student.id == id:
print(f"查询结果:\n编号\t姓名\t语文\t数学\t英语\n{student}")
return
print("未找到该学生")
def show_all(self):
print("所有学生信息:")
print("编号\t姓名\t语文\t数学\t英语")
for student in self.students:
print(student)
def menu(self):
while True:
print("\n学生成绩管理系统")
print("1. 录入学生信息")
print("2. 删除学生信息")
print("3. 修改学生信息")
print("4. 查询学生信息")
print("5. 显示所有学生信息")
print("0. 退出程序")
choice = input("请选择操作:")
if choice == "0":
print("程序已退出")
break
elif choice == "1":
self.add()
elif choice == "2":
self.delete()
elif choice == "3":
self.modify()
elif choice == "4":
self.query()
elif choice == "5":
self.show_all()
else:
print("无效的选择")
if __name__ == "__main__":
student_list = StudentList()
student_list.menu()
```
在主程序中,我们实例化了一个学生列表对象 student_list,并调用了其 menu 方法,提供了菜单选项供用户选择相应的操作。每个菜单选项对应一个方法,例如录入学生信息对应的是 add 方法,查询学生信息对应的是 query 方法,以此类推。
运行程序后,用户可以选择相应的操作进行学生信息管理,如下所示:
```
学生成绩管理系统
1. 录入学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 显示所有学生信息
0. 退出程序
请选择操作:1
请输入学生姓名:张三
请输入语文成绩:90
请输入数学成绩:85
请输入英语成绩:92
学生信息已添加:1 张三 90 85 92
学生成绩管理系统
1. 录入学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 显示所有学生信息
0. 退出程序
请选择操作:4
请输入要查询的学生编号:1
查询结果:
编号 姓名 语文 数学 英语
1 张三 90 85 92
学生成绩管理系统
1. 录入学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 显示所有学生信息
0. 退出程序
请选择操作:3
请输入要修改的学生编号:1
请输入学生姓名:张三
请输入语文成绩:95
请输入数学成绩:90
请输入英语成绩:96
学生信息已修改为:1 张三 95 90 96
学生成绩管理系统
1. 录入学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 显示所有学生信息
0. 退出程序
请选择操作:2
请输入要删除的学生编号:1
学生信息已删除:1 张三 95 90 96
学生成绩管理系统
1. 录入学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 显示所有学生信息
0. 退出程序
请选择操作:5
所有学生信息:
编号 姓名 语文 数学 英语
学生成绩管理系统
1. 录入学生信息
2. 删除学生信息
3. 修改学生信息
4. 查询学生信息
5. 显示所有学生信息
0. 退出程序
请选择操作:0
程序已退出
```
阅读全文