帮我用python实现一个学生管理系统,1,添加学生信息,信息内包括:1,学生姓名4.查询学生信息,并自动显示出学生三门成绩平均分 5,退出系统 6,程序运行后,除非选择退出系统,否则重复执行功能。2.删除学生信息 3.修改学生信息,2,学号,3,班级,4,语文成绩,5,数学成绩,6,英语成绩,2
时间: 2024-01-11 08:02:21 浏览: 58
好的,以下是用 Python 实现学生管理系统的代码,注意需要安装 pandas 库。
```python
import pandas as pd
def add_student():
name = input("请输入学生姓名:")
stu_id = input("请输入学生学号:")
stu_class = input("请输入学生班级:")
chinese_score = input("请输入学生语文成绩:")
math_score = input("请输入学生数学成绩:")
english_score = input("请输入学生英语成绩:")
new_student = pd.DataFrame({"姓名": [name], "学号": [stu_id], "班级": [stu_class], "语文成绩": [chinese_score], "数学成绩": [math_score], "英语成绩": [english_score]})
with open("students.csv", "a", encoding="utf-8-sig") as f:
new_student.to_csv(f, header=False, index=False)
def delete_student():
stu_id = input("请输入要删除的学生学号:")
student_df = pd.read_csv("students.csv", dtype=str)
student_df = student_df[student_df["学号"] != stu_id]
student_df.to_csv("students.csv", index=False)
def modify_student():
stu_id = input("请输入要修改的学生学号:")
student_df = pd.read_csv("students.csv", dtype=str)
student = student_df[student_df["学号"] == stu_id]
if len(student) == 0:
print("该学生不存在!")
return
print("请选择要修改的信息:")
print("1. 学号")
print("2. 班级")
print("3. 语文成绩")
print("4. 数学成绩")
print("5. 英语成绩")
choice = input()
if choice == "1":
new_stu_id = input("请输入新的学号:")
student_df.loc[student_df["学号"] == stu_id, "学号"] = new_stu_id
elif choice == "2":
new_class = input("请输入新的班级:")
student_df.loc[student_df["学号"] == stu_id, "班级"] = new_class
elif choice == "3":
new_chinese_score = input("请输入新的语文成绩:")
student_df.loc[student_df["学号"] == stu_id, "语文成绩"] = new_chinese_score
elif choice == "4":
new_math_score = input("请输入新的数学成绩:")
student_df.loc[student_df["学号"] == stu_id, "数学成绩"] = new_math_score
elif choice == "5":
new_english_score = input("请输入新的英语成绩:")
student_df.loc[student_df["学号"] == stu_id, "英语成绩"] = new_english_score
else:
print("输入有误!")
return
student_df.to_csv("students.csv", index=False)
def query_student():
stu_id = input("请输入要查询的学生学号:")
student_df = pd.read_csv("students.csv", dtype=str)
student = student_df[student_df["学号"] == stu_id]
if len(student) == 0:
print("该学生不存在!")
return
chinese_score = int(student["语文成绩"])
math_score = int(student["数学成绩"])
english_score = int(student["英语成绩"])
avg_score = (chinese_score + math_score + english_score) / 3
print("该学生平均成绩为:%.2f" % avg_score)
def menu():
print("欢迎使用学生管理系统!")
while True:
print("请选择要执行的操作:")
print("1. 添加学生信息")
print("2. 删除学生信息")
print("3. 修改学生信息")
print("4. 查询学生信息")
print("5. 退出系统")
choice = input()
if choice == "1":
add_student()
elif choice == "2":
delete_student()
elif choice == "3":
modify_student()
elif choice == "4":
query_student()
elif choice == "5":
print("感谢使用学生管理系统,再见!")
break
else:
print("输入有误,请重新输入!")
if __name__ == "__main__":
menu()
```
在运行程序之前,需要创建一个名为 `students.csv` 的文件来存储学生信息。文件格式如下:
```
姓名,学号,班级,语文成绩,数学成绩,英语成绩
张三,1001,一班,80,90,85
李四,1002,二班,75,85,80
王五,1003,三班,90,95,92
```
注意文件路径和编码格式需要与代码中保持一致。运行程序后,根据提示输入相应的选项即可使用学生管理系统。
阅读全文