在列表的基础上修改,采用字典的存储方法
具体代码如下:
#添加
def add_stu():
print('*********添加学员**********')
name = input('请输入学员姓名:')
age = input('请输入学员的年龄:')
sex = input('请输入学员性别(男/女):')
phone = input('请输入手机号:')
student = {'name':name,'age':age,'sex':sex,'phone':phone}
student_list.append(student)
#查询
def query_stu(type):
print('*************%s学员**************'%type)
print('1.查询所有学员')
print('2.输入学员姓名查询 ')
num = int(input('选择操作:'))
if num == 1:
for x in range(0, len(student_list)):
student = student_list[x]
name = student['name']
age = student['age']
sex = student['sex']
phone = student['phone']
print('序号:%s 姓名:%s 年龄:%s 性别:%s 手机号:%s' % (x, name,age,sex,phone))
print(student_list)
else:
name = input('请输入学员姓名:')
while 1:
rs = False
for student in student_list:
if student['name'] == name:
index = student_list.index(student,0,len(student_list))
print('序号:%s 姓名:%s 年龄:%s 性别:%s 手机号:%s' % (index,student_list[index]['name'],student_list[index][
'age'],student_list[index]['sex'],student_list[index]['phone']))
rs = True
if rs == False:
name = input('未找到学员,请重输:')
else:
break
def select_num(type):
index = input('请选择要%s的学员序号:'%type)
index = int(index)
while index not in range(0, len(student_list)):
index = int(input('选择的学员不存在,请重选:'))
#返回选择的序号
return index
#修改
def alter_stu():
if len(student_list) == 0:
print('没有学员信息,无法进行修改操作!')
#强制结束函数的执行,return下面的代码都不会再执行
return
query_stu('修改')
index = int(select_num('修改'))
student = student_list[index]
student['name'] = input('请输入修改后的姓名(%s):'%student['name'])
student['age'] = input('请输入修改后的年龄(%s):'%student['age'])
student['sex'] = input('请输入修改后的性别(%s):'%student['sex'])
student['phone'] = input('请输入修改后的手机号(%s):'%student['phone'])
print('修改学员成功')
#删除
def dele_stu():
print('1.通过序号删除学员')
print('2.删除全部学员')
print('3.根据学员姓名删除')
num = input('请选择操作:')
num = int(num)
while num not in range(1, 4):
num = int(input('所输选项不存在,请重输:'))
if num == 1:
query_stu('删除')
index = select_num('删除')
rs = input('是否真的删除(y/n):')
if rs == 'y':
student_list.pop(index)
print('删除成功')
else:
print('删除数据操作已取消!')
elif num == 2:
rs = input('是否真的删除(y/n):')
if rs == 'y':
student_list.clear()
print('删除成功')
else:
print('删除数据操作已取消!')
else:
name = input('请输入想要删除学员的姓名:')
rs = input('是否真的删除(y/n):')
if rs == 'y':
while 1:
#创建一个空列表存放不符合情况的信息
list = []
for student in student_list:
#判断姓名是否存在列表中
if student['name'] != name:
#取出不符合情况的学员的索引
index = student_list.index(student)
#将不符合情况的学员添加到list[]
list.append(student_list[index])
#将学员列表总长度与list的长度比较,
if len(student_list) == len(list):
#若相等,则没有符合的姓名
name = input('序号不存在,请重新输入:')
else:
# 若不相等,说明有符合情况的,则清除大列表,
student_list.clear()
#再把list中所有不符合的学员添加到大列表中
for dict in list:
student_list.append(dict)
break
print('删除成功!')
else:
print('删除数据操作已取消!')
#声明一个大列表,存放学员姓名
student_list = []
while 1:
print('****************学员管理系统*****************')
print('*****************1.添加学员*****************')
print('*****************2.修改学员*****************')
print('*****************3.查询学员*****************')
print('*****************4.删除学员*****************')
print('*****************0.退出程序*****************')
num = input('请选择你的操作:')
num = int(num)
while num not in range(0,5):
num =int(input('您选择的选项不存在,请重选:'))
if num == 1:
#添加学员
add_stu()
elif num == 2:
#修改学员
alter_stu()
elif num == 3:
#查询学员
query_stu('查询')
elif num == 4:
#删除学员
dele_stu()
else:
print('退出程序')
break