采用 python 语言编程一个班级学业管理系统 具体要求: 班级学业管理系统应涉及主要学生数据,包括姓名、性别、籍贯、出生日期、各学科成绩等,应具有添加、修改、删除、查询等功能
时间: 2023-12-22 22:03:21 浏览: 64
好的,我可以为你提供一个班级学业管理系统的代码示例,使用 Python 语言编写。首先,我们需要定义一个 `Student` 类来表示每个学生:
```python
class Student:
def __init__(self, name, gender, hometown, birthdate):
self.name = name
self.gender = gender
self.hometown = hometown
self.birthdate = birthdate
self.scores = {}
def add_score(self, subject, score):
self.scores[subject] = score
def get_score(self, subject):
return self.scores.get(subject, 0)
```
在 `__init__` 方法中,我们初始化了学生的姓名、性别、籍贯和出生日期,并创建了一个字典来存储学生的各学科成绩。我们还定义了 `add_score` 和 `get_score` 方法来添加和获取学科成绩。
接下来,我们可以创建一个 `Classroom` 类来管理班级学生:
```python
class Classroom:
def __init__(self):
self.students = []
def add_student(self, student):
self.students.append(student)
def remove_student(self, student):
self.students.remove(student)
def search_student(self, name):
for student in self.students:
if student.name == name:
return student
return None
def get_average_score(self, subject):
total_score = 0
num_students = 0
for student in self.students:
score = student.get_score(subject)
if score > 0:
total_score += score
num_students += 1
return total_score / num_students if num_students > 0 else 0
```
在 `__init__` 方法中,我们初始化了一个空的学生列表。我们还定义了 `add_student` 和 `remove_student` 方法来添加和删除学生,以及 `search_student` 方法来根据姓名查找学生。
最后,我们定义了 `get_average_score` 方法来计算指定学科的平均分数。
现在,我们可以使用这些类来实现一个简单的班级学业管理系统:
```python
classroom = Classroom()
while True:
print("1. 添加学生")
print("2. 修改学生")
print("3. 删除学生")
print("4. 查询学生")
print("5. 添加成绩")
print("6. 查询平均分数")
print("0. 退出")
choice = input("请输入操作编号:")
if choice == "1":
name = input("请输入姓名:")
gender = input("请输入性别:")
hometown = input("请输入籍贯:")
birthdate = input("请输入出生日期:")
student = Student(name, gender, hometown, birthdate)
classroom.add_student(student)
print("添加成功!")
elif choice == "2":
name = input("请输入要修改的学生姓名:")
student = classroom.search_student(name)
if student:
gender = input("请输入性别(回车表示不修改):")
if gender != "":
student.gender = gender
hometown = input("请输入籍贯(回车表示不修改):")
if hometown != "":
student.hometown = hometown
birthdate = input("请输入出生日期(回车表示不修改):")
if birthdate != "":
student.birthdate = birthdate
print("修改成功!")
else:
print("查无此人!")
elif choice == "3":
name = input("请输入要删除的学生姓名:")
student = classroom.search_student(name)
if student:
classroom.remove_student(student)
print("删除成功!")
else:
print("查无此人!")
elif choice == "4":
name = input("请输入要查询的学生姓名:")
student = classroom.search_student(name)
if student:
print("姓名:", student.name)
print("性别:", student.gender)
print("籍贯:", student.hometown)
print("出生日期:", student.birthdate)
print("各学科成绩:", student.scores)
else:
print("查无此人!")
elif choice == "5":
name = input("请输入要添加成绩的学生姓名:")
student = classroom.search_student(name)
if student:
subject = input("请输入学科名称:")
score = int(input("请输入分数:"))
student.add_score(subject, score)
print("添加成功!")
else:
print("查无此人!")
elif choice == "6":
subject = input("请输入要查询平均分数的学科名称:")
average_score = classroom.get_average_score(subject)
print("平均分数:", average_score)
elif choice == "0":
break
else:
print("无效操作,请重新输入!")
```
这个程序通过一个简单的命令行菜单来实现添加、修改、删除、查询学生以及添加成绩和查询平均分数的功能。你可以根据自己的需求进行修改和扩展。
阅读全文