文章目录
一、程序功能
1、功能介绍
- 利用python编写一个具有增、删、改、查的学生管理系统
2、思维导图
二、编写程序
1、首先写主程序(也就是一级菜单)
2、运行一下程序,查看结果
3、编辑二级菜单(函数模块化)
4、将文本文件链接到python中
5、完成程序的编写
三、对学生管理系统数据进行操作
1、增加学生记录
数据添加成功
2、删除学生记录
数据删除成功
3、修改学生记录
修改数据成功
4、查询学生记录
(1)按学号查询
(2)按姓名查询
四、原代码
def get_all_students():
students = []
f = open('学生.TXT')
for line in f:
line = line.replace('\n', '')
student = line.split(' ')
students.append(student)
f.close() #关闭文件
return students
# 增加学生记录
def add_student():
students = get_all_students()
id = input('学号:')
name = input('姓名:')
sex = input('性别:')
age = input('年龄:')
grade_class = input('班级:')
major = input('专业:')
college = input('学院:')
phone_number = input('电话号码:')
students.append([id, name,sex, age, grade_class,major, college,phone_number])
f = open('学生.TXT','w')
for i in range(len(students)):
student = ' '.join(students[i])+ '\n'
f.write(student)
f.close() #关闭文件
print('学生记录添加成功!')
# 查找学生记录
def query_student():
while True:
print("\n====学生管理系统====")
print('1.按学号查询学生记录')
print('2.按姓名查询学生记录')
print('3.返回上级菜单')
print('=' * 17)
mc3 = int(input('输入菜单号:'))
if mc3 == 1:
student_number()
elif mc3 == 2:
student_name()
else:
break
def student_name():
name = input('姓名: ')
students = get_all_students()
found = False
for i in range(len(students)):
if (students[i][1] == name):
found = True
for j in range(len(students[i])):
print(students[i][j], end=' ')
break
if not found:
print(f'学生信息中没有姓名为{name}的学生!')
# 按学号查找
def student_number():
id = input('学号: ')
found = False
students = get_all_students()
for i in range(len(students)):
if students[i][0] == id:
found = True
for j in range(len(students[i])):
print(students[i][j], end=' ')
break
if not found:
print(f'学生信息中没有学号为{id}的学生!')
# 修改学生记录
def modify_student():
students = get_all_students()
id = input('需要修改信息的学生的学号: ')
new_name = input('姓名: ')
new_sex = input('性别: ')
new_age = input('年龄: ')
new_grade_class = input('班级: ')
new_major = input('专业: ')
new_college = input('学院: ')
new_phone_number = input('电话号码: ')
found = False
for i in range(len(students)):
if (students[i][0] == id):
found = True
students[i][1] = new_name
students[i][2] = new_sex
students[i][3] = new_age
students[i][4] = new_grade_class
students[i][5] = new_major
students[i][6] = new_college
students[i][7] = new_phone_number
print('修改成功!')
for j in range(len(students[i])):
print(students[i][j], end=' ')
break
if not found:
print(f'学生信息中没有学号为{id}的学生!')
f = open('学生.TXT', 'w')
for i in range(len(students)):
student = ' '.join(students[i]) + '\n'
f.write(student)
f.close() #关闭文件
# 删除学生记录
def delete_student():
students = get_all_students()
id = input('请输入要删除信息的学生的学号:')
found = False
for i in range(len(students)):
if (students[i][0] == id):
found = True
break
if not found:
print(f'学生信息中没有学号为{id}的学生!')
else:
del students[i]
print(f'学号为{id}已成功删除!')
f = open('学生.TXT', 'w')
for i in range(len(students)):
student = ' '.join(students[i]) + '\n'
f.write(student)
f.close() #关闭文件
def login():
username = input('请输入用户名: ')
password = input('请输入密码: ')
if username =='xxq' and password =='20021203':
while True:
print("\n====学生管理系统====")
print('1.增加学生记录')
print('2.查找学生记录')
print('3.修改学生记录')
print('4.删除学生记录')
print('5.返回上一级菜单')
print('=' * 17)
mc2 = int(input('请输入菜单号:'))
if mc2 == 1:
add_student()
elif mc2 == 2:
query_student()
elif mc2 == 3:
modify_student()
elif mc2 == 4:
delete_student()
else:
break
else:
print('\n用户名或密码错误,请重新登录\n')
# 主程序
while True:
print("\n====学生管理系统====")
print('1.登录')
print('2.退出')
print('=' * 17)
mc1 = int(input('请输入菜单号:'))
if mc1 == 1:
login()
elif mc1 == 2:
print('谢谢使用!')
break
else:
print('请输入正确的菜单号')