用python写学生信息管理系统,能存进文件
时间: 2023-12-17 19:11:22 浏览: 85
好的,我可以帮你解答这个问题。对于学生信息管理系统,我们可以考虑使用Python中的字典(dictionary)来存储学生信息,然后将字典转换成JSON格式并写入文件中,这样就能够实现将学生信息存入文件的功能。
下面是一个简单的示例代码,可以实现添加学生、查询学生、删除学生和保存学生信息等功能:
```python
import json
def add_student():
name = input("请输入学生姓名:")
age = input("请输入学生年龄:")
student = {"name": name, "age": age}
students.append(student)
print("添加成功!")
def search_student():
name = input("请输入要查询的学生姓名:")
for student in students:
if student["name"] == name:
print("查询结果:", student)
break
else:
print("未找到该学生!")
def delete_student():
name = input("请输入要删除的学生姓名:")
for i, student in enumerate(students):
if student["name"] == name:
students.pop(i)
print("删除成功!")
break
else:
print("未找到该学生!")
def save_students():
with open("students.json", "w") as f:
json.dump(students, f)
print("保存成功!")
def load_students():
global students
try:
with open("students.json", "r") as f:
students = json.load(f)
except FileNotFoundError:
students = []
print("加载成功!")
def main():
load_students()
while True:
print("欢迎使用学生信息管理系统!")
print("1. 添加学生")
print("2. 查询学生")
print("3. 删除学生")
print("4. 保存学生信息")
print("0. 退出程序")
choice = input("请输入要执行的操作:")
if choice == "1":
add_student()
elif choice == "2":
search_student()
elif choice == "3":
delete_student()
elif choice == "4":
save_students()
elif choice == "0":
break
else:
print("无效的操作!")
if __name__ == "__main__":
main()
```
这段代码使用了全局变量`students`来存储所有学生的信息,`load_students()`函数会从文件中加载学生信息,`save_students()`函数会将学生信息保存到文件中。其他函数则分别实现了添加、查询和删除学生的功能。使用`json.dump()`函数将字典转换成JSON格式并写入文件中,使用`json.load()`函数将JSON格式的数据读取出来并转换成字典。
阅读全文