用python写一个学生信息管理系统,包含以下内容,请给出完整代码。 1、注册登入模块:如果不是管理员,只能显示本学生的成绩信息,如果是管理员,则显示功能菜单 2、学生信息维护模块:录入学生信息、删除学生信息、修改学生信息。 3、查询筛选统计模块:按照学生姓名查询、按照学生ID查找、筛选出挂科的学生、统计学生总人数、显示所有学生信息 4、排序功能模块:按照单科成绩和总成绩进行升降序排序。 5、退出系统
时间: 2023-06-25 13:04:20 浏览: 45
以下是一个简单的学生信息管理系统的完整代码实现,包含上述所有功能。注意:本代码为示例代码,仅供参考。
```python
# 学生信息管理系统
# 包含注册登入模块、学生信息维护模块、查询筛选统计模块、排序功能模块和退出系统功能
# 学生信息列表
students = []
# 登录验证函数
def login():
username = input("请输入用户名:")
password = input("请输入密码:")
if username == "admin" and password == "123456":
print("登录成功!")
return True
else:
print("用户名或密码错误,请重新输入!")
return False
# 注册函数
def register():
username = input("请输入用户名:")
password = input("请输入密码:")
print("注册成功!")
# 录入学生信息函数
def add_student():
name = input("请输入学生姓名:")
id = input("请输入学生ID:")
chinese = float(input("请输入语文成绩:"))
math = float(input("请输入数学成绩:"))
english = float(input("请输入英语成绩:"))
student = {"name": name, "id": id, "chinese": chinese, "math": math, "english": english}
students.append(student)
print("学生信息录入成功!")
# 删除学生信息函数
def delete_student():
id = input("请输入要删除的学生ID:")
for student in students:
if student["id"] == id:
students.remove(student)
print("学生信息删除成功!")
return
print("未找到该学生信息!")
# 修改学生信息函数
def modify_student():
id = input("请输入要修改的学生ID:")
for student in students:
if student["id"] == id:
name = input("请输入学生姓名:")
chinese = float(input("请输入语文成绩:"))
math = float(input("请输入数学成绩:"))
english = float(input("请输入英语成绩:"))
student["name"] = name
student["chinese"] = chinese
student["math"] = math
student["english"] = english
print("学生信息修改成功!")
return
print("未找到该学生信息!")
# 按照学生姓名查询函数
def search_by_name():
name = input("请输入要查询的学生姓名:")
for student in students:
if student["name"] == name:
print(student)
print("查询完毕!")
# 按照学生ID查询函数
def search_by_id():
id = input("请输入要查询的学生ID:")
for student in students:
if student["id"] == id:
print(student)
print("查询完毕!")
# 筛选出挂科的学生函数
def filter_failed_students():
failed_students = []
for student in students:
if student["chinese"] < 60 or student["math"] < 60 or student["english"] < 60:
failed_students.append(student)
for student in failed_students:
print(student)
print("筛选完毕!")
# 统计学生总人数函数
def count_students():
print("学生总人数为:", len(students))
# 显示所有学生信息函数
def show_all_students():
for student in students:
print(student)
# 按照单科成绩排序函数
def sort_by_score(subject):
if subject == "chinese":
students.sort(key=lambda x:x["chinese"])
elif subject == "math":
students.sort(key=lambda x:x["math"])
elif subject == "english":
students.sort(key=lambda x:x["english"])
for student in students:
print(student)
print("排序完毕!")
# 按照总成绩排序函数
def sort_by_total_score():
students.sort(key=lambda x:x["chinese"]+x["math"]+x["english"])
for student in students:
print(student)
print("排序完毕!")
# 主函数
def main():
# 登录验证
while not login():
pass
# 功能菜单
while True:
print("请选择功能:")
print("1. 注册")
print("2. 录入学生信息")
print("3. 删除学生信息")
print("4. 修改学生信息")
print("5. 按照学生姓名查询")
print("6. 按照学生ID查询")
print("7. 筛选出挂科的学生")
print("8. 统计学生总人数")
print("9. 显示所有学生信息")
print("10. 按照单科成绩排序")
print("11. 按照总成绩排序")
print("12. 退出系统")
choice = input("请输入选项:")
# 注册
if choice == "1":
register()
# 录入学生信息
elif choice == "2":
add_student()
# 删除学生信息
elif choice == "3":
delete_student()
# 修改学生信息
elif choice == "4":
modify_student()
# 按照学生姓名查询
elif choice == "5":
search_by_name()
# 按照学生ID查询
elif choice == "6":
search_by_id()
# 筛选出挂科的学生
elif choice == "7":
filter_failed_students()
# 统计学生总人数
elif choice == "8":
count_students()
# 显示所有学生信息
elif choice == "9":
show_all_students()
# 按照单科成绩排序
elif choice == "10":
subject = input("请选择排序科目(语文/数学/英语):")
sort_by_score(subject)
# 按照总成绩排序
elif choice == "11":
sort_by_total_score()
# 退出系统
elif choice == "12":
print("退出系统成功!")
break
# 输入错误
else:
print("输入错误,请重新输入!")
if __name__ == '__main__':
main()
```
以上代码实现了一个简单的学生信息管理系统,包含注册登入模块、学生信息维护模块、查询筛选统计模块、排序功能模块和退出系统功能。可以根据实际需求进行修改和扩展。