写一个Python程序,学生成绩管理系统,代码要包含序列、字典、模块、类、第三方模块的安装与使用等方面
时间: 2023-07-04 17:29:03 浏览: 73
好的,以下是一个简单的Python学生成绩管理系统,实现了序列、字典、模块、类、第三方模块的安装与使用:
首先,我们需要安装一个第三方模块 prettytable,用于在终端输出表格。
```python
pip install prettytable
```
然后,我们创建一个名为 student.py 的模块,其中包含一个名为 Student 的类,用于表示一个学生的信息,包括姓名、学号、年级、科目成绩等。
```python
# student.py
class Student:
def __init__(self, name, id, grade, scores):
self.name = name
self.id = id
self.grade = grade
self.scores = scores
```
接下来,我们创建一个名为 main.py 的主程序,用于实现学生成绩管理系统的各项功能。
首先,我们定义一个列表 students,用于存储所有学生的信息。
```python
# main.py
from student import Student
students = []
```
然后,我们定义一个函数 add_student,用于添加新学生的信息。
```python
def add_student():
name = input("请输入学生姓名:")
id = input("请输入学生学号:")
grade = input("请输入学生年级:")
scores = {}
while True:
subject = input("请输入科目名称(输入 q 退出):")
if subject == "q":
break
score = input("请输入科目成绩:")
scores[subject] = score
student = Student(name, id, grade, scores)
students.append(student)
print("添加成功!")
```
接下来,我们定义一个函数 show_students,用于显示所有学生的信息。
```python
from prettytable import PrettyTable
def show_students():
x = PrettyTable(["姓名", "学号", "年级", "科目", "成绩"])
for student in students:
for subject, score in student.scores.items():
x.add_row([student.name, student.id, student.grade, subject, score])
print(x)
```
然后,我们定义一个函数 search_student,用于查找某个学生的信息。
```python
def search_student():
id = input("请输入学生学号:")
for student in students:
if student.id == id:
x = PrettyTable(["姓名", "学号", "年级", "科目", "成绩"])
for subject, score in student.scores.items():
x.add_row([student.name, student.id, student.grade, subject, score])
print(x)
return
print("未找到该学生!")
```
最后,我们定义一个函数 menu,用于显示主菜单,接受用户输入并执行相应的功能。
```python
def menu():
while True:
print("=============== 学生成绩管理系统 ===============")
print("1. 添加学生信息")
print("2. 显示所有学生信息")
print("3. 查找学生信息")
print("4. 退出系统")
choice = input("请输入功能编号:")
if choice == "1":
add_student()
elif choice == "2":
show_students()
elif choice == "3":
search_student()
elif choice == "4":
print("谢谢使用,再见!")
break
else:
print("输入有误,请重新输入!")
```
最后,我们在主程序中调用函数 menu,启动学生成绩管理系统。
```python
if __name__ == "__main__":
menu()
```
现在,我们就可以在终端中运行 main.py,体验学生成绩管理系统的各项功能了。
阅读全文