python实现简单的学生管理系统

介绍

学生管理系统是一种用于管理学生数据的简单软件,可以记录学生的基本信息和成绩等数据。在本文中,我们将用Python编写一个基本的学生管理系统,实现学生信息的添加、查询、修改和删除等功能。

基本框架

在这个学生管理系统中,我们将使用Python中的基本数据类型和文件读写操作来存储学生信息。具体来说,我们将使用一个字典来表示每个学生的信息,然后将所有学生信息存储到一个文本文件中。下面是该系统的基本框架:

# 定义一个空字典,用于存储学生信息

students = {}

# 定义一个函数,用于将学生信息保存到文件中

def save_students():

with open('students.txt', 'w') as f:

for id, info in students.items():

name, age, gender, score = info

f.write(f'{id},{name},{age},{gender},{score}\n')

# 定义一个函数,用于从文件中加载学生信息

def load_students():

with open('students.txt', 'r') as f:

for line in f:

id, name, age, gender, score = line.strip().split(',')

students[id] = (name, int(age), gender, float(score))

添加学生信息

要添加一个新的学生信息,我们可以先从用户那里获取需要的信息,然后将它们保存到一个新的字典中,最后将该字典添加到所有学生信息的字典中即可。下面是该过程的代码实现:

# 定义一个函数,用于添加新的学生信息

def add_student():

# 从用户那里获取需要的信息

id = input('请输入学号:')

name = input('请输入姓名:')

age = input('请输入年龄:')

gender = input('请输入性别(男/女):')

score = input('请输入成绩:')

# 将学生信息保存到新的字典中

info = (name, int(age), gender, float(score))

students[id] = info

# 将所有学生信息保存到文件中

save_students()

查询学生信息

要查询一个学生的信息,我们可以先让用户输入学号,然后从所有学生信息的字典中查找该学号对应的信息,最后将其输出即可。如果该学号不存在,我们需要给出相应的提示。

# 定义一个函数,用于查询学生信息

def query_student():

# 让用户输入需要查询的学号

id = input('请输入学号:')

# 如果学号存在,输出该学生的信息;否则给出相应的提示

if id in students:

name, age, gender, score = students[id]

print(f'学号:{id},姓名:{name},年龄:{age},性别:{gender},成绩:{score}')

else:

print('该学号不存在。')

修改学生信息

要修改一个学生的信息,我们可以先让用户输入学号,然后从所有学生信息的字典中查找该学号对应的信息,并将其显示给用户。接下来,让用户输入需要修改的字段和新的值,然后更新该学生的信息即可。如果该学号不存在,我们需要给出相应的提示。

# 定义一个函数,用于修改学生信息

def modify_student():

# 让用户输入需要修改的学号

id = input('请输入学号:')

# 如果学号存在,输出该学生的信息;否则给出相应的提示

if id in students:

name, age, gender, score = students[id]

print(f'学号:{id},姓名:{name},年龄:{age},性别:{gender},成绩:{score}')

# 让用户输入需要修改的字段和新的值

field = input('请输入需要修改的字段(姓名/年龄/性别/成绩):')

value = input('请输入新的值:')

# 更新该学生的信息

if field == '姓名':

name = value

elif field == '年龄':

age = int(value)

elif field == '性别':

gender = value

elif field == '成绩':

score = float(value)

else:

print('无效的字段。')

students[id] = (name, age, gender, score)

# 将所有学生信息保存到文件中

save_students()

else:

print('该学号不存在。')

删除学生信息

要删除一个学生的信息,我们可以先让用户输入学号,然后从所有学生信息的字典中查找该学号对应的信息,并将其删除即可。如果该学号不存在,我们需要给出相应的提示。

# 定义一个函数,用于删除学生信息

def delete_student():

# 让用户输入需要删除的学号

id = input('请输入学号:')

# 如果学号存在,删除该学生的信息;否则给出相应的提示

if id in students:

students.pop(id)

# 将所有学生信息保存到文件中

save_students()

else:

print('该学号不存在。')

完整代码

下面是该学生管理系统的完整代码:

# 定义一个空字典,用于存储学生信息

students = {}

# 定义一个函数,用于将学生信息保存到文件中

def save_students():

with open('students.txt', 'w') as f:

for id, info in students.items():

name, age, gender, score = info

f.write(f'{id},{name},{age},{gender},{score}\n')

# 定义一个函数,用于从文件中加载学生信息

def load_students():

with open('students.txt', 'r') as f:

for line in f:

id, name, age, gender, score = line.strip().split(',')

students[id] = (name, int(age), gender, float(score))

# 定义一个函数,用于添加新的学生信息

def add_student():

# 从用户那里获取需要的信息

id = input('请输入学号:')

name = input('请输入姓名:')

age = input('请输入年龄:')

gender = input('请输入性别(男/女):')

score = input('请输入成绩:')

# 将学生信息保存到新的字典中

info = (name, int(age), gender, float(score))

students[id] = info

# 将所有学生信息保存到文件中

save_students()

# 定义一个函数,用于查询学生信息

def query_student():

# 让用户输入需要查询的学号

id = input('请输入学号:')

# 如果学号存在,输出该学生的信息;否则给出相应的提示

if id in students:

name, age, gender, score = students[id]

print(f'学号:{id},姓名:{name},年龄:{age},性别:{gender},成绩:{score}')

else:

print('该学号不存在。')

# 定义一个函数,用于修改学生信息

def modify_student():

# 让用户输入需要修改的学号

id = input('请输入学号:')

# 如果学号存在,输出该学生的信息;否则给出相应的提示

if id in students:

name, age, gender, score = students[id]

print(f'学号:{id},姓名:{name},年龄:{age},性别:{gender},成绩:{score}')

# 让用户输入需要修改的字段和新的值

field = input('请输入需要修改的字段(姓名/年龄/性别/成绩):')

value = input('请输入新的值:')

# 更新该学生的信息

if field == '姓名':

name = value

elif field == '年龄':

age = int(value)

elif field == '性别':

gender = value

elif field == '成绩':

score = float(value)

else:

print('无效的字段。')

students[id] = (name, age, gender, score)

# 将所有学生信息保存到文件中

save_students()

else:

print('该学号不存在。')

# 定义一个函数,用于删除学生信息

def delete_student():

# 让用户输入需要删除的学号

id = input('请输入学号:')

# 如果学号存在,删除该学生的信息;否则给出相应的提示

if id in students:

students.pop(id)

# 将所有学生信息保存到文件中

save_students()

else:

print('该学号不存在。')

# 加载所有学生信息

load_students()

# 主循环

while True:

# 显示菜单

print('学生管理系统')

print('1. 添加学生信息')

print('2. 查询学生信息')

print('3. 修改学生信息')

print('4. 删除学生信息')

print('5. 退出程序')

# 让用户选择菜单项

choice = input('请选择菜单项:')

# 根据用户的选择执行相应的操作

if choice == '1':

add_student()

elif choice == '2':

query_student()

elif choice == '3':

modify_student()

elif choice == '4':

delete_student()

elif choice == '5':

break

else:

print('无效的选择。')

总结

学生管理系统是一个比较简单的软件,但可以锻炼我们对Python基本语法的掌握。在实现该系统的过程中,我们使用了Python中的字典、文件读写操作和基本输入输出函数等。这些知识点对于Python编程初学者来说都是非常基础和重要的,希望读者可以通过这个例子更好地理解它们的用法。

后端开发标签