Python实现简易学生信息管理系统
1. 项目介绍
本项目使用Python编程语言实现一个简易的学生信息管理系统。主要功能包括添加、查询和删除学生信息。用户可以通过命令行界面完成这些操作。
2. 环境准备
在开始之前,需要确保已经安装了Python环境和相关的依赖库。推荐使用Python版本为3.x。
3. 实现过程
3.1 初始化项目
首先需要创建一个新的Python文件,命名为student_management_system.py
。在文件中添加如下代码:
import json
def load_data():
try:
with open('students.json', 'r') as f:
data = json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
data = []
return data
def save_data(data):
with open('students.json', 'w') as f:
json.dump(data, f, indent=4)
上述代码中,load_data
函数用于从本地文件中读取数据,如果文件不存在或读取失败,则返回空列表。save_data
函数用于将数据保存到本地文件中。
接下来,需要添加如下代码,实现命令行界面的显示:
def display_menu():
print('=' * 50)
print('{:^50}'.format('欢迎使用学生信息管理系统'))
print('-' * 50)
print('{:<3}{:<13}{:<15}'.format('ID', '姓名', '年龄'))
print('-' * 50)
print('{:<3}{:<13}{:<15}'.format('', '', ''))
print('=' * 50)
print('1. 添加学生信息')
print('2. 查询学生信息')
print('3. 删除学生信息')
print('0. 退出系统')
print('=' * 50)
上述代码中,display_menu
函数用于显示命令行界面。
3.2 添加学生信息
在添加学生信息时,需要先输入学生的姓名和年龄信息,然后自动生成一个唯一的ID,并将这些信息保存到本地文件中。
def add_student():
print('请输入学生的姓名:')
name = input()
print('请输入学生的年龄:')
age = input()
data = load_data()
student = {
'id': len(data) + 1,
'name': name,
'age': age
}
data.append(student)
save_data(data)
print('学生信息添加成功!')
上述代码中,add_student
函数用于添加学生信息。首先从命令行中读取学生的姓名和年龄信息,然后生成一个唯一的ID,并将学生的信息添加到本地文件中。
3.3 查询学生信息
在查询学生信息时,可以根据学生的ID或姓名进行查询。输入相应的ID或姓名后,系统会返回对应的学生信息。如果查询不到,则输出相应的提示信息。
def search_student():
print('请选择查询方式(1. 根据ID查询;2. 根据姓名查询):')
choice = input()
data = load_data()
if choice == '1':
print('请输入学生的ID:')
id = int(input())
for student in data:
if student['id'] == id:
print('学生ID:{}'.format(student['id']))
print('学生姓名:{}'.format(student['name']))
print('学生年龄:{}'.format(student['age']))
return
elif choice == '2':
print('请输入学生的姓名:')
name = input()
for student in data:
if student['name'] == name:
print('学生ID:{}'.format(student['id']))
print('学生姓名:{}'.format(student['name']))
print('学生年龄:{}'.format(student['age']))
return
else:
print('无效的选择!')
print('未查询到该学生的信息!')
上述代码中,search_student
函数用于查询学生信息。首先需要选择查询方式,然后根据查询方式进行相应的输入操作。最后根据输入的ID或姓名查询学生信息。
3.4 删除学生信息
在删除学生信息时,需要输入学生的ID。如果存在对应的学生信息,则将其从本地文件中删除。如果查询不到,则输出相应的提示信息。
def delete_student():
print('请输入要删除的学生的ID:')
id = int(input())
data = load_data()
for i, student in enumerate(data):
if student['id'] == id:
del data[i]
save_data(data)
print('学生信息删除成功!')
return
print('未查询到该学生的信息!')
上述代码中,delete_student
函数用于删除学生信息。首先从命令行中读取要删除的学生的ID,然后在本地文件中查找对应的学生,如果存在,则将其从本地文件中删除。
3.5 完整代码
将上述函数整合到一起,并添加循环操作实现完整的学生信息管理系统:
import json
def load_data():
try:
with open('students.json', 'r') as f:
data = json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
data = []
return data
def save_data(data):
with open('students.json', 'w') as f:
json.dump(data, f, indent=4)
def display_menu():
print('=' * 50)
print('{:^50}'.format('欢迎使用学生信息管理系统'))
print('-' * 50)
print('{:<3}{:<13}{:<15}'.format('ID', '姓名', '年龄'))
print('-' * 50)
print('{:<3}{:<13}{:<15}'.format('', '', ''))
print('=' * 50)
print('1. 添加学生信息')
print('2. 查询学生信息')
print('3. 删除学生信息')
print('0. 退出系统')
print('=' * 50)
def add_student():
print('请输入学生的姓名:')
name = input()
print('请输入学生的年龄:')
age = input()
data = load_data()
student = {
'id': len(data) + 1,
'name': name,
'age': age
}
data.append(student)
save_data(data)
print('学生信息添加成功!')
def search_student():
print('请选择查询方式(1. 根据ID查询;2. 根据姓名查询):')
choice = input()
data = load_data()
if choice == '1':
print('请输入学生的ID:')
id = int(input())
for student in data:
if student['id'] == id:
print('学生ID:{}'.format(student['id']))
print('学生姓名:{}'.format(student['name']))
print('学生年龄:{}'.format(student['age']))
return
elif choice == '2':
print('请输入学生的姓名:')
name = input()
for student in data:
if student['name'] == name:
print('学生ID:{}'.format(student['id']))
print('学生姓名:{}'.format(student['name']))
print('学生年龄:{}'.format(student['age']))
return
else:
print('无效的选择!')
print('未查询到该学生的信息!')
def delete_student():
print('请输入要删除的学生的ID:')
id = int(input())
data = load_data()
for i, student in enumerate(data):
if student['id'] == id:
del data[i]
save_data(data)
print('学生信息删除成功!')
return
print('未查询到该学生的信息!')
if __name__ == '__main__':
while True:
display_menu()
choice = input()
if choice == '1':
add_student()
elif choice == '2':
search_student()
elif choice == '3':
delete_student()
elif choice == '0':
break
else:
print('无效的选择!')
4. 示例说明
4.1 添加学生信息
选择菜单项1进行添加学生信息操作,输入姓名和年龄信息后,系统会将学生信息添加到本地文件中。例如:
请输入要进行的操作:1
请输入学生的姓名:
张三
请输入学生的年龄:
20
学生信息添加成功!
4.2 查询学生信息
选择菜单项2进行查询学生信息操作,根据ID或姓名进行查询。例如:
请选择查询方式(1. 根据ID查询;2. 根据姓名查询):1
请输入学生的ID:
1
学生ID:1
学生姓名:张三
学生年龄:20
4.3 删除学生信息
选择菜单项3进行删除学生信息操作,根据ID进行删除。例如:
请输入要进行的操作:3
请输入要删除的学生的ID:
1
学生信息删除成功!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现简易学生信息管理系统 - Python技术站