用python写的一个菜鸟级学生信息管理系统
** 小白用来练手的,想完成期末作业的还是去找大佬吧!
欢迎指出不足!!**
无文件操作
print('*********欢迎使用学生信息管理系统!*********')
print('********************************************')
print('* 1.新建学生信息 *')
print('* 2.显示全部信息 *')
print('* 3.查询学生信息 *')
print('* 4.删除学生信息 *')
print('* 5.修改学生信息 *')
print('* 0.退出 *')
print('********************************************')
students=[
{
'name':'张三',
'Chinese':'65',
'math':'100',
'English':'88',
'score':'200'
},
{'name':'李四',
'Chinese':'65',
'math':'100',
'English':'88',
'score':'200'
},
{'name':'王五',
'Chinese':'65',
'math':'100',
'English':'88',
'score':'200'
}
]
while True:
action=input('请输入想要的操作:')
if action=='0':
print('感谢使用!')
break
elif action =='1':
name=input('请输入姓名:')
Chinese=input('语文成绩:')
math=input('数学成绩:')
English=input('英语成绩:')
score=int(Chinese)+int(math)+int(English)
student={
'name':name,
'Chinese':Chinese,
'math':math,
'English':English,
'score':score
}
students.append(student)
print(students)
elif action=='2':
for student in students:
print(student)
elif action=='3':
name=input('请输入你要查询的名字:')
for student in students:
if student['name']==name:
print(student)
break
else:
print('未找到{}'.format(name))
elif action=='4':
name=input('请输入要删除的学生姓名:')
for student in students:
if student['name']==name:
students.remove(student)
print('删除成功')
break
else:
print('{}未找到'.format(name))
elif action=='5':
name=input('请输入你要修改的名字:')
for student in students:
if student['name']==name:
student['name']=input('请输入姓名:')
student['Chinese']=input('语文成绩:')
student['math']=input('数学成绩;')
student['English']=input('英语成绩:')
student['score']=int(student['Chinese'])+int(student['math'])+int(student['English'])
print('修改成功')
break
else:
print('未找到{}'.format(name))
else:
print('输入格式不正确 请重新输入')
有文件操作
class Student(object):
student_num = 0
#增加学生
def add_student(self,student_info):
with open('student.txt','a') as file:
file.write(student_info+'\n')
return '添加成功'
#查找学生
def get_student_info(self,student_num):
with open('student.txt','r') as file:
lines = file.readlines()
for line in lines:
if student_num == line[0:5]:
result = line
break
else:
result = '学号不存在'
return result
#显示学生信息
def get_all_students_info(self):
with open('student.txt','r') as file:
result = file.read()
return result
#删除学生
def delete_student(self,student_num):
if not self.is_student_exists(student_num):
return '该学号不存在'
with open('student.txt','r') as file:
lines = file.readlines()
with open('student.txt','w') as file:
for line in lines:
if line[0:5] == student_num:
continue#进入下一次循环
file.write(line)
return '删除成功'
#修改信息
def edit_student(self,student_num):
if not self.is_student_exists(student_num):
return '该学号不存在'
with open('student.txt','r') as file:
lines = file.readlines()
with open('student.txt','w') as file:
for line in lines:
if line[0:5] == student_num:
name = input('请输入学生的姓名:')
gender = input('请输入学生的性别:')
phone = input('请输入学生的手机号:')
student_info = ','.join([student_num,name,gender,phone])
file.write(student_info+'\n')
else:
file.write(line)
return '修改成功'
def is_student_exists(self,student_num):
with open('student.txt','r') as file:
lines = file.readlines()
for line in lines:
if student_num == line[0:5]:
return True
else:
return False
def create_student_num(self):
try:
with open('student.txt', 'r') as file:
lines = file.readlines()
last_line = lines[-1]
if last_line:
self.student_num = int(last_line.split(',')[0]) + 1 # '10001,宋江,男,123123123'
else:
self.student_num = 10001
except:
self.student_num = 10001
return str(self.student_num)
def show_message():
print("---------------------------")
print(" 学生管理系统 V1.0")
print(" ")
print(" 1:添加学生")
print(" 2:查询学生")
print(" 3:显示所有学生")
print(" 4:删除学生")
print(" 5:修改学生")
print(" 0:退出系统")
print(" ")
print("---------------------------")
def main():
student = Student()
show_message()
while True:
try:
number = int(input('请输入您的选择:'))
except:
print('输入无效,请按照提示输入相应数字。')
else:
if number == 1:
student_num = student.create_student_num()
name = input('请输入学生的姓名:')
gender = input('请输入学生的性别:')
phone = input('请输入学生的手机号:')
student_info = ','.join([student_num,name,gender,phone])
result = student.add_student(student_info)
print(result)
elif number == 2:
student_num = input('请输入要查询的学生学号:')
result = student.get_student_info(student_num)
print(result)
elif number == 3:
result = student.get_all_students_info()
print(result)
elif number == 4:
student_num = input('请输入要删除的学生学号:')
confirm = input('确认删除请输入y/yes:')
if confirm == 'y' or confirm == 'yes':
result = student.delete_student(student_num)
print(result)
else:
print('取消删除')
elif number == 5:
student_num = input('请输入要修改的学生学号:')
result = student.edit_student(student_num)
print(result)
elif number == 0:
print('退出成功')
break
else:
print('输入无效,请按照提示输入相应数字。')
if __name__ == "__main__":
main()