用python写一个学生管理系统,需求清单 1.控制台输入学生信息(学号、姓名、性别、年龄),学号唯一性校验 2.学生信息保存至json文件,无json文件时自动创建 3.上述功能均需要已函数方式编写 4.可通过控制台输入学号或姓名进行查询学生信息,如查询不到学生信息,则提示请先添加学生 5.对学生信息进行修改后并重新保存至json文件中
时间: 2024-03-10 20:51:08 浏览: 77
Python基于Django框架实现的一个学生信息管理系统源码+数据库.zip
好的,这是一个比较完整的学生管理系统,我可以帮您提供一些思路和代码实现,您可以参考一下:
1. 控制台输入学生信息并校验学号唯一性:
```python
import json
def add_student(students):
stu_num = input("请输入学生学号:")
# 判断学号是否已经存在
if stu_num in students:
print("该学号已存在,请重新输入!")
add_student(students)
else:
name = input("请输入学生姓名:")
gender = input("请输入学生性别:")
age = input("请输入学生年龄:")
# 将学生信息添加到字典中
students[stu_num] = {"姓名": name, "性别": gender, "年龄": age}
print("学生信息添加成功!")
def main():
# 加载已有学生信息,如果没有则创建一个空字典
try:
with open("students.json", "r") as f:
students = json.load(f)
except FileNotFoundError:
students = {}
# 添加学生信息
add_student(students)
# 保存学生信息到json文件中
with open("students.json", "w") as f:
json.dump(students, f)
if __name__ == "__main__":
main()
```
2. 查询学生信息:
```python
import json
def search_student(students):
# 通过学号或姓名进行查询
keyword = input("请输入学号或姓名:")
for stu_num, info in students.items():
if stu_num == keyword or info["姓名"] == keyword:
print("学号:", stu_num)
print("姓名:", info["姓名"])
print("性别:", info["性别"])
print("年龄:", info["年龄"])
break
else:
print("未找到该学生信息!")
def main():
# 加载已有学生信息,如果没有则创建一个空字典
try:
with open("students.json", "r") as f:
students = json.load(f)
except FileNotFoundError:
students = {}
# 查询学生信息
search_student(students)
if __name__ == "__main__":
main()
```
3. 修改学生信息并保存至json文件:
```python
import json
def modify_student(students):
# 通过学号或姓名进行查询
keyword = input("请输入学号或姓名:")
for stu_num, info in students.items():
if stu_num == keyword or info["姓名"] == keyword:
print("学号:", stu_num)
print("姓名:", info["姓名"])
print("性别:", info["性别"])
print("年龄:", info["年龄"])
# 修改学生信息
info["姓名"] = input("请输入学生姓名:")
info["性别"] = input("请输入学生性别:")
info["年龄"] = input("请输入学生年龄:")
print("学生信息修改成功!")
break
else:
print("未找到该学生信息!")
# 保存学生信息到json文件中
with open("students.json", "w") as f:
json.dump(students, f)
def main():
# 加载已有学生信息,如果没有则创建一个空字典
try:
with open("students.json", "r") as f:
students = json.load(f)
except FileNotFoundError:
students = {}
# 修改学生信息
modify_student(students)
if __name__ == "__main__":
main()
```
希望这些代码能够帮助到您,如果还有其他问题可以随时问我。
阅读全文