用Python编写学生信息管理系统修改学生信息其他信息保持不变,只修改一个关键词
时间: 2024-03-01 18:49:46 浏览: 66
好的,这是一个比较典型的Python应用程序,需要使用到文件读写、字符串处理等知识。下面是一个简单的实现思路:
1. 首先读取学生信息文件,将每个学生的信息保存为一个字典,然后将所有学生的字典保存到一个列表中。
2. 接着提示用户输入要修改的关键词,以及要修改的值。
3. 遍历列表,找到需要修改的学生信息字典。
4. 将字典中对应关键词的值修改为用户输入的新值。
5. 最后将修改后的列表保存到学生信息文件中。
下面是一份简单的Python代码,可以实现上述功能:
```python
import os
# 定义学生信息文件路径
STUDENT_FILE = 'students.txt'
# 读取学生信息文件,返回学生信息列表
def read_students():
students = []
if os.path.exists(STUDENT_FILE):
with open(STUDENT_FILE, 'r') as f:
for line in f:
fields = line.strip().split(',')
student = {
'id': fields[0],
'name': fields[1],
'age': fields[2],
'gender': fields[3],
'address': fields[4],
'phone': fields[5]
}
students.append(student)
return students
# 根据关键词和新值修改学生信息
def modify_student(students, key, value):
modified = False
for student in students:
if student[key] == value:
new_value = input('请输入新的{}:'.format(key))
student[key] = new_value
modified = True
return modified
# 保存学生信息到文件
def save_students(students):
with open(STUDENT_FILE, 'w') as f:
for student in students:
line = '{},{},{},{},{},{}\n'.format(student['id'],
student['name'],
student['age'],
student['gender'],
student['address'],
student['phone'])
f.write(line)
# 主程序
def main():
students = read_students()
key = input('请输入要修改的关键词:')
value = input('请输入要修改的值:')
if modify_student(students, key, value):
save_students(students)
print('修改成功!')
else:
print('没有找到符合条件的学生!')
if __name__ == '__main__':
main()
```
这个程序首先会读取学生信息文件,然后提示用户输入要修改的关键词和新值,接着调用`modify_student`函数遍历学生信息列表,找到需要修改的学生信息字典并修改对应的值,最后调用`save_students`函数保存修改后的学生信息列表到文件中。
阅读全文