从"成绩单.txt"中读取学生信息并具有增加,删除,修改,查找功能
时间: 2024-03-03 12:49:37 浏览: 27
可以使用以下代码来实现从 "成绩单.txt" 中读取学生信息,并具有增加、删除、修改、查找功能:
```python
# 读取学生信息
def read_students():
students = []
with open('成绩单.txt', 'r', encoding='utf-8') as f:
for line in f.readlines():
info = line.strip().split()
student = {'name': info[0], 'id': info[1], 'score': info[2]}
students.append(student)
return students
# 添加学生
def add_student(students):
name = input('请输入学生姓名:')
id = input('请输入学生学号:')
score = input('请输入学生成绩:')
student = {'name': name, 'id': id, 'score': score}
students.append(student)
print('添加成功!')
# 删除学生
def remove_student(students):
id = input('请输入要删除的学生学号:')
for student in students:
if student['id'] == id:
students.remove(student)
print('删除成功!')
return
print('未找到该学生!')
# 修改学生信息
def modify_student(students):
id = input('请输入要修改的学生学号:')
for student in students:
if student['id'] == id:
name = input('请输入学生姓名:')
score = input('请输入学生成绩:')
student['name'] = name
student['score'] = score
print('修改成功!')
return
print('未找到该学生!')
# 查找学生
def search_student(students):
id = input('请输入要查找的学生学号:')
for student in students:
if student['id'] == id:
print(f"姓名:{student['name']},学号:{student['id']},成绩:{student['score']}")
return
print('未找到该学生!')
# 主函数
def main():
students = read_students()
while True:
print('1. 添加学生')
print('2. 删除学生')
print('3. 修改学生信息')
print('4. 查找学生')
print('5. 退出程序')
choice = input('请选择操作:')
if choice == '1':
add_student(students)
elif choice == '2':
remove_student(students)
elif choice == '3':
modify_student(students)
elif choice == '4':
search_student(students)
elif choice == '5':
# 保存学生信息到文件中
with open('成绩单.txt', 'w', encoding='utf-8') as f:
for student in students:
f.write(f"{student['name']} {student['id']} {student['score']}\n")
print('程序已退出!')
break
else:
print('无效操作!')
if __name__ == '__main__':
main()
```
以上代码中,`read_students()` 函数用于从 "成绩单.txt" 中读取学生信息,并将其保存到一个列表中,每个学生信息以字典的形式保存。`add_student()` 函数用于添加一个新的学生信息到列表中,`remove_student()` 函数用于删除指定学号的学生信息,`modify_student()` 函数用于修改指定学号的学生信息,`search_student()` 函数用于查找指定学号的学生信息。`main()` 函数为主函数,用于显示菜单和处理用户输入,同时在程序退出前将修改后的学生信息保存到文件中。