python代码,信息存储在文件学生用户登录之后能对自己的个人信息(学号,姓名,所学课程,年龄,性别.....)等进行修稿
时间: 2023-06-13 20:06:25 浏览: 65
以下是一个简单的实现,使用了JSON格式存储学生信息:
```python
import json
# 定义学生类
class Student:
def __init__(self, id, name, courses, age, gender):
self.id = id
self.name = name
self.courses = courses
self.age = age
self.gender = gender
# 读取学生信息
def read_students():
with open('students.json', 'r') as f:
students = json.load(f)
return students
# 保存学生信息
def save_students(students):
with open('students.json', 'w') as f:
json.dump(students, f)
# 学生登录
def login():
id = input('请输入学号:')
password = input('请输入密码:')
# 在这里可以在学生信息文件中查找对应的学生信息
# 如果找到了,就返回对应的Student对象,否则返回None
students = read_students()
for s in students:
if s['id'] == id and s['password'] == password:
return Student(s['id'], s['name'], s['courses'], s['age'], s['gender'])
return None
# 修改个人信息
def modify_info(student):
print('您的个人信息如下:')
print('学号:', student.id)
print('姓名:', student.name)
print('所学课程:', student.courses)
print('年龄:', student.age)
print('性别:', student.gender)
print('请输入要修改的信息编号(1-5):')
option = int(input())
if option == 1:
student.id = input('请输入新的学号:')
elif option == 2:
student.name = input('请输入新的姓名:')
elif option == 3:
student.courses = input('请输入新的所学课程,以逗号分隔:').split(',')
elif option == 4:
student.age = input('请输入新的年龄:')
elif option == 5:
student.gender = input('请输入新的性别:')
else:
print('无效的选项')
return
# 保存修改后的信息
students = read_students()
for s in students:
if s['id'] == student.id:
s['name'] = student.name
s['courses'] = student.courses
s['age'] = student.age
s['gender'] = student.gender
break
save_students(students)
print('修改成功!')
# 主程序
def main():
student = login()
if student:
print('欢迎您,', student.name)
modify_info(student)
else:
print('登录失败')
if __name__ == '__main__':
main()
```
在这个实现中,学生信息存储在`students.json`文件中,每个学生信息包括学号、姓名、密码、所学课程、年龄、性别等字段。`read_students`函数从文件中读取所有的学生信息,`save_students`函数将修改后的信息保存回文件中。`login`函数用于学生登录,根据输入的学号和密码查找对应的学生信息,如果找到了就返回对应的`Student`对象,否则返回`None`。`modify_info`函数用于修改学生个人信息,根据用户输入的选项进行相应的修改,然后保存到文件中。最后,`main`函数集成了登录和修改个人信息的功能。
阅读全文