基于python实现学生管理系统

本文为大家分享了python实现学生管理系统的具体代码,供大家参考,具体内容如下

1.0版本学生管理系统

'''

1.添加学员

2.修改学员

3.查询学员

4.删除学员

0.退出程序

'''

student_list=[]

while True:

print('1.添加学员')

print('2.修改学员')

print('3.查询学员')

print('4.删除学员')

print('0.退出程序')

sel_num=input('请输入您要进行的操作:')

sel_num=int(sel_num)

#如果选择的数字不在0~5 继续选择

while sel_num not in range(0,5):

sel_num=input('您的选择无效,请重新选择:')

sel_num=int(sel_num)

if sel_num==1:

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

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

sex=input('请输入性别:')

person_list=[name,age,sex]

student_list.append(person_list)

print('添加成功!')

elif sel_num==2:

for x in range(0,len(student_list)):

person=student_list[x]

print('序号:%s 姓名:%s 年龄:%s 性别:%s '%(x,person[0],person[1],person[2]))

index=input('请输入要修改的序号:')

index=int(index)

while index not in range(0, len(student_list)):

index = input('您选择的序号无效,请重新选择:')

index = int(index)

person=student_list[index]

name=person[0]

age=person[1]

sex=person[2]

student_list[index][0]=input('请输入修改后的姓名:(%s):'%name)

student_list[index][1]=input('请输入修改后的年龄:(%s):'%age)

student_list[index][2]=input('请输入修改后的性别:(%s)'%sex)

print('修改成功!')

elif sel_num==3:

for x in range(0,len(student_list)):

person=student_list[x]

name=person[0]

age=person[1]

sex=person[2]

print('序号:%s 姓名:%s 年龄:%s 性别:%s '%(x,name,age,sex))

elif sel_num==4:

for x in range(0,len(student_list)):

person=student_list[x]

print('序号:%s 姓名:%s 年龄:%s 性别:%s '%(x,person[0],person[1],person[2]))

print('1.删除所有学员')

print('2.删除选择的学员')

num=input('请输入您的选择:')

if num=='1':

student_list.clear()

else:

index = input('请输入要删除学员的序号:')

index = int(index)

while index not in range(0, len(student_list)):

index = input('您选择的序号无效,请重新选择:')

index = int(index)

del student_list[index]

else:

break

2.0版本学生管理系统---函数版--用列表存放学员信息

#添加学员函数

def add_student():

#输入学员姓名、年龄、电话

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

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

phone=input('请输入学员电话:')

#把name、age、phone放在小列表中

student=[name,age,phone]

# 把小列表添加到所有学员的大列表中

# append(object) insert(index,object) extend(iterable)

student_list.append(student)

print('添加学员成功!')

#查询学员函数

def query_student():

#1.查询所有学员

#2.输入学员姓名 查询学员得到查询的学员的序号

print('1.查询所有学员')

print('2.查询部分学员')

num=int(input('请输入操作序号:'))

while num not in range(1,3):

num=int(input('选择无效,请重新输入:'))

if num==1:

print('**************学员信息列表***************')

#遍历大列表

for x in range(0,len(student_list)):

#根据x的值从大列表中取出小列表

student=student_list[x]

#从小列表中取出姓名、年龄、电话

name=student[0]

age=student[1]

phone=student[2]

print('序号:%s 姓名:%s 年龄:%s 电话:%s'%(x,name,age,phone))

else:

name = input('请输入您要查询的学员姓名:')

while 1:

a=False

for student in student_list:

if student[0] == name:

index = student_list.index(student, 0, 8)

print('序号:%s 姓名:%s 年龄:%s 电话:%s'%(index,student_list[index][0],student_list[index][1],student_list[

index][2]))

a=True

if a==False:

name=input('该学员没找到,请重新输入:')

else:

break

# 修改学员的函数

def update_student():

#判断是否有学员信息,如果没有,直接结束函数的执行

if len(student_list)==0:

print('没有学员信息,无法进行修改操作!')

#强制结束函数的执行 return下面的代码都不会再执行了

return

#1.查询学员信息

query_student()

#2.选择要修改的学员序号

num=input('请选择要修改的学员序号:')

#3.转换为整数

num=int(num)

#4.判断选择的学员序号是否在范围内

while num not in range(0,len(student_list)):

#不在范围,重新选择

num=input('没有该序号,请重选:')

num=int(num)

#5.根据选择的序号取出对应的小列表

student=student_list[num]

new_name=input('请输入修改后的姓名(%s):'%student[0])

new_age=input('请输入修改后的年龄(%s)'%student[1])

new_phone=input('请输入修改后的电话(%s)'%student[2])

#6.修改小列表中的数据

student[0]=new_name

student[1]=new_age

student[2]=new_phone

print('修改数据完成!')

#删除学员

#1.根据学员序号删除 2.删除所有学员 3.根据学员的姓名来删除(有同名的)

def delete_student():

if len(student_list)==0:

print('没有学员信息,无法执行删除操作!')

return

print('1.根据学员序号删除')

print('2.删除所有学员')

print('3.根据学员姓名删除学员')

#获取输入的内容并转换为整数类型

num=int(input('请输入您的选择:'))

#判断选择的选项是否在范围内

while num not in range(1,4):

num=int(input('没有该序号,请重新选择'))

#判断选择的选项

if num == 1:

# 1.查询学员信息

query_student()

#2.选择删除的序号

num=int(input('请输入您要删除的学员序号:'))

#判断选择序号是否在范围内

while num not in range(0,len(student_list)):

num=int(input('序号无效,请重选!'))

is_del=input('您确定要删除(%s)学员的信息吗?(y/n):'%student_list[num][0])

if is_del=='y':

#删除列表中的所有数据

del student_list[num]

#student_list.pop(index)

print('%s学员信息删除成功!'%student_list[num][0])

if num==2:

#确认删除

is_del=input('您确定要删除所有学员信息吗?y(确定)/n(取消):')

if is_del=='y':

#删除列表中的所有数据

student_list.clear()

print('所有学员删除成功!')

else:

print('删除数据操作已去取消!')

else:

name = input('请输入您要删除的学员的姓名:')

while 1:

#定义列表存放不等于name的小列表

list = []

#遍历大列表

for student in student_list:

#判断输入的name是否和小列表里name的相等

if student[0] != name:

#找出与name不等的小列表所在的索引

index = student_list.index(student,0,len(student_list))

#将符合的小列表添加到list列表中

list.append(student_list[index])

#判断两个列表长度是否相等 相等说明大列表中不存在名字为name的小列表

if len(student_list) == len(list):

name = input('序号不存在,请重新输入:')

#存在符合的小列表

else:

#清空大列表

student_list.clear()

#循环将list列表的内容写入到空的大列表中

for dict in list:

student_list.append(dict)

break

#1.声明一个大列表,存放所有学员信息

student_list=[]

#2.while循环

while True:

print('***********学员管理系统V2.0**************')

print('1.添加学员')

print('2.查询学员')

print('3.修改学员')

print('4.删除学员')

print('0.退出程序')

print('***************************************')

#选择操作

num=input('请选择您的操作:')

#转换为整数

num=int(num)

#判断选择的选项是否在范围内

while num not in range(0,5):

#重新选择

num=input('没有该选项,请重选:')

#把字符串转换为整数类型

num=int(num)

#根据选择的选项执行对应的操作

if num==1:

#调用添加学员的函数

add_student()

elif num==2:

#调用查询学员的函数

query_student()

elif num==3:

#调用修改学员的的函数

update_student()

elif num==4:

delete_student()

else:

print('程序已结束!')

break

2.1版本学生管理系统---函数版--用字典存放学员信息

#添加学员函数

def add_student():

#输入学员姓名、年龄、电话

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

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

phone=input('请输入学员电话:')

#把name、age、phone放在小字典中

student={'name':name,'age':age,'phone':phone}

# 把小字典添加到所有学员的大列表中

# append(object) insert(index,object) extend(iterable)

student_list.append(student)

print('添加学员成功!')

#查询学员函数

def query_student():

#1.查询所有学员

#2.输入学员姓名 查询学员得到查询的学员的序号

print('1.查询所有学员')

print('2.查询部分学员')

num=int(input('请输入操作序号:'))

while num not in range(1,3):

num=int(input('选择无效,请重新输入:'))

if num==1:

print('**************学员信息列表***************')

#遍历大列表

for x in range(0,len(student_list)):

#根据x的值从大列表中取出小字典

student=student_list[x]

#从小字典中取出姓名、年龄、电话

name=student['name']

age=student['age']

phone=student['phone']

print('序号:%s 姓名:%s 年龄:%s 电话:%s'%(x,name,age,phone))

else:

name = input('请输入您要查询的学员姓名:')

while 1:

a=False

for student in student_list:

if student['name'] == name:

index = student_list.index(student, 0, 8)

print('序号:%s 姓名:%s 年龄:%s 电话:%s'%(index,student_list[index]['name'],student_list[index]['age'],

student_list[index]['phone']))

a=True

if a==False:

name=input('该学员没找到,请重新输入:')

else:

break

# 修改学员的函数

def update_student():

#判断是否有学员信息,如果没有,直接结束函数的执行

if len(student_list)==0:

print('没有学员信息,无法进行修改操作!')

#强制结束函数的执行 return下面的代码都不会再执行了

return

#1.查询学员信息

query_student()

#2.选择要修改的学员序号

num=input('请选择要修改的学员序号:')

#3.转换为整数

num=int(num)

#4.判断选择的学员序号是否在范围内

while num not in range(0,len(student_list)):

#不在范围,重新选择

num=input('没有该序号,请重选:')

num=int(num)

#5.根据选择的序号取出对应的小字典

student=student_list[num]

new_name=input('请输入修改后的姓名(%s):'%student['name'])

new_age=input('请输入修改后的年龄(%s)'%student['age'])

new_phone=input('请输入修改后的电话(%s)'%student['phone'])

#6.修改小列表中的数据

student['name']=new_name

student['age']=new_age

student['phone']=new_phone

print('修改数据完成!')

#删除学员

#1.根据学员序号删除 2.删除所有学员 3.根据学员的姓名来删除(有同名的)

def delete_student():

if len(student_list)==0:

print('没有学员信息,无法执行删除操作!')

return

print('1.根据学员序号删除')

print('2.删除所有学员')

print('3.根据学员姓名删除学员')

#获取输入的内容并转换为整数类型

num=int(input('请输入您的选择:'))

#判断选择的选项是否在范围内

while num not in range(1,4):

num=int(input('没有该序号,请重新选择'))

#判断选择的选项

if num == 1:

# 1.查询学员信息

query_student()

#2.选择删除的序号

num=int(input('请输入您要删除的学员序号:'))

#判断选择序号是否在范围内

while num not in range(0,len(student_list)):

num=int(input('序号无效,请重选!'))

is_del=input('您确定要删除(%s)学员的信息吗?(y/n):'%student_list[num]['name'])

if is_del=='y':

#删除列表中的所有数据

del student_list[num]

#student_list.pop(index)

print('%s学员信息删除成功!'%student_list[num]['name'])

else:

print('删除数据操作已去取消!')

elif num==2:

#确认删除

is_del=input('您确定要删除所有学员信息吗?y(确定)/n(取消):')

if is_del=='y':

#删除列表中的所有数据

student_list.clear()

print('所有学员删除成功!')

else:

print('删除数据操作已去取消!')

else:

name = input('请输入您要删除的学员的姓名:')

while 1:

# 定义列表存放不等于name的小列表

list=[]

# 遍历大列表

for student in student_list:

# 判断输入的name是否和小字典里name的相等

if student['name']!=name:

# 找出与name不等的小字典所在的索引

index=student_list.index(student)

# 将符合的小字典添加到list列表中

list.append(student_list[index])

# 判断两个列表长度是否相等 相等说明大列表中不存在名字为name的小列表

if len(student_list)==len(list):

name=input('序号不存在,请重新输入:')

# 存在符合的小字典

else:

# 清空大列表

student_list.clear()

# 循环将list列表的内容写入到空的大列表中

for dict in list:

student_list.append(dict)

break

#1.声明一个大列表,存放所有学员信息

student_list=[]

#2.while循环

while True:

print('***********学员管理系统V2.0**************')

print('1.添加学员')

print('2.查询学员')

print('3.修改学员')

print('4.删除学员')

print('0.退出程序')

print('***************************************')

#选择操作

num=input('请选择您的操作:')

#转换为整数

num=int(num)

#判断选择的选项是否在范围内

while num not in range(0,5):

#重新选择

num=input('没有该选项,请重选:')

#把字符串转换为整数类型

num=int(num)

#根据选择的选项执行对应的操作

if num==1:

#调用添加学员的函数

add_student()

elif num==2:

#调用查询学员的函数

query_student()

elif num==3:

#调用修改学员的的函数

update_student()

elif num==4:

delete_student()

else:

print('程序已结束!')

break

3.0版本学生管理系统--将学员信息存入文件中

def is_in_range():

index = input('请选择要(修改)删除的学员序号:')

index = int(index)

while index not in range(0, len(student_list)):

index = input('您输入的序号不在范围内,请重新输入:')

index = int(index)

return index

def add_stu():

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

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

sex = input('请输入性别:')

person_list = [name, age, sex]

student_list.append(person_list)

print('添加成功!')

def alter_stu():

index=is_in_range()

person = student_list[index]

name = person[0]

age = person[1]

sex = person[2]

student_list[index][0] = input('请输入修改后的姓名:(%s):' % name)

student_list[index][1] = input('请输入修改后的年龄:(%s):' % age)

student_list[index][2] = input('请输入修改后的性别:(%s)' % sex)

print('修改成功!')

def see_stu():

for x in range(0, len(student_list)):

person = student_list[x]

name = person[0]

age = person[1]

sex = person[2]

print('序号:%s 姓名:%s 年龄:%s 性别:%s ' % (x, name, age, sex))

def del_stu():

print('1.删除所有学员')

print('2.删除选择的学员')

num = input('请输入您的选择:')

if num == '1':

student_list.clear()

else:

index = is_in_range()

del student_list[index]

#声明保存数据的函数

def save_data():

#1.打开文件

file_handle=open('student_v2.txt',mode='w')

#2.for循环遍历大列表

for student in student_list:

#把列表中的数据用空格分开拼接成一个字符串

s=' '.join(student)

#写入

file_handle.write(s)

file_handle.write('\n')

#3.关闭文件

file_handle.close()

#引入os模块

import os

#读取文件的函数

def read_data():

#判断文件是否存在

rs=os.path.exists('student_v2.txt')

if rs==True:

#1.打开文件

file_handle=open('student_v2.txt',mode='r')

#2.取出信息

contents=file_handle.readlines()

for content in contents:

#去除/n

content=content.strip('\n')

#使用空格分割字符串,得到列表

list_1=content.split(' ')

#将小列表添加到大列表中

student_list.append(list_1)

# 3.关闭文件

file_handle.close()

# 声明一个大列表,存放学院的姓名

student_list = []

read_data()

while True:

print('1.添加学员')

print('2.修改学员')

print('3.查询学员')

print('4.删除学员')

print('0.退出程序')

sel_num = input('请输入您要进行的操作:')

sel_num = int(sel_num)

# 如果选择的数字不在0~5 继续选择

while sel_num not in range(0, 5):

sel_num = input('您的选择无效,请重新选择:')

sel_num = int(sel_num)

# 添加学员

if sel_num == 1:

add_stu()

save_data()

elif sel_num == 2:

# 1.展示所有学员信息

see_stu()

# 2.选择要修改的学员序号

alter_stu()

save_data()

elif sel_num == 3:

see_stu()

elif sel_num == 4:

see_stu()

# 2.选择要删除的学员序号

del_stu()

save_data()

else:

break

以上是 基于python实现学生管理系统 的全部内容, 来源链接: utcz.com/z/361741.html

回到顶部