Python学生信息管理系统(完整版)攻略
一、需求分析
本系统需要实现的功能需求如下:
- 添加学生信息
- 删除学生信息
- 修改学生信息
- 查询学生信息
- 显示所有学生信息
- 保存学生信息到文件
- 从文件中读取学生信息
二、系统实现
2.1 面向对象设计
我们采用面向对象的设计思路,将学生信息存储到一个列表中,每个学生信息是一个字典,包含以下字段:
- 学生姓名(name)
- 学生年龄(age)
- 学生性别(sex)
- 学生所在班级(class)
2.2 界面设计
我们采用命令行界面,用户输入数字对应每一个菜单选项。
2.3 代码实现
最终实现的代码如下:
class Student():
def __init__(self):
self.name = ''
self.age = ''
self.sex = ''
self.classroom = ''
class Student_List():
def __init__(self):
self.StudentList = []
def add_student(self, student):
self.StudentList.append(student)
print(f'{student.name}学生信息已经录入成功!')
def update_student(self, student):
for index, stu in enumerate(self.StudentList):
if stu.name == student.name:
self.StudentList[index] = student
print(f'{student.name}修改成功!')
return
print(f'{student.name}不存在,更新失败!')
def delete_student(self, name):
for index, student in enumerate(self.StudentList):
if student.name == name:
self.StudentList.pop(index)
print(f'{name}信息已删除!')
return
print(f'{name}不存在,删除失败!')
def query_student(self, name):
for student in self.StudentList:
if student.name == name:
print(f'名字:{student.name}, 年龄:{student.age}, 性别:{student.sex}, 班级:{student.classroom}')
return
print(f'{name}不存在,查询失败!')
def list_student(self):
for student in self.StudentList:
print(f'名字:{student.name}, 年龄:{student.age}, 性别:{student.sex}, 班级:{student.classroom}')
def save_student(self):
with open('student.txt', 'w', encoding='utf-8') as f:
for student in self.StudentList:
f.write(f'{student.name},{student.age},{student.sex},{student.classroom}\n')
print('学生信息保存成功!')
def read_student(self):
try:
with open('student.txt', 'r', encoding="utf-8") as f:
for line in f:
name, age, sex, classroom = line.strip().split(",")
student = Student()
student.name = name
student.age = age
student.sex = sex
student.classroom = classroom
self.StudentList.append(student)
print('学生信息读取成功!')
except Exception:
print('文件不存在,读取失败!')
student_list=Student_List()
def show_menu():
print('1. 添加学生信息')
print('2. 删除学生信息')
print('3. 修改学生信息')
print('4. 查询学生信息')
print('5. 显示所有学生信息')
print('6. 保存学生信息到文件')
print('7. 从文件中读取学生信息')
print('0. 退出系统')
print('-' * 20)
def new_student():
student = Student()
student.name = input('输入学生姓名:')
student.age = input('输入学生年龄:')
student.sex = input('输入学生性别:')
student.classroom = input('输入学生所在班级:')
return student
def main():
show_menu()
while True:
operator = input('请输入您的选择(数字):')
if operator == '1':
student= new_student()
student_list.add_student(student)
elif operator == '2':
name = input('输入学生姓名:')
student_list.delete_student(name)
elif operator == '3':
student = new_student()
student_list.update_student(student)
elif operator == '4':
name = input('输入学生姓名:')
student_list.query_student(name)
elif operator == '5':
student_list.list_student()
elif operator == '6':
student_list.save_student()
elif operator == '7':
student_list.read_student()
elif operator == '0':
print('欢迎您下次再使用!')
break
show_menu()
if __name__ == '__main__':
main()
2.4 示范运行
例如,我们可以按以下步骤测试系统功能:
- 添加学生信息:依次输入1、张三、18、男、一年级一班
- 查看学生信息:依次输入4、张三
- 修改学生信息:依次输入3、张三、20、男、一年级二班
- 删除学生信息:依次输入2、张三
- 退出系统:依次输入0,最后退出系统。
经过以上步骤,我们发现系统功能正常,可以实现我们设想的需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python学生信息管理系统(完整版) - Python技术站