练习
学生管理系统
'''
1.添加学员
2.修改学员
3.查询学员
4.删除学员
0.退出程序
'''
# 添加学员函数
def add_student():
# 输入一个学员的姓名
name = input('请输入学员姓名:')
# 把姓名添加大列表中
student_list.append(name)
# 查询学员函数
def query_student():
# 1.展示所有学员信息
for x in range(0, len(student_list)):
# 根据x的值,取出列表对应索引的数据
name = student_list[x]
print('序号:%s 姓名:%s' % (x, name))
# 封装判断选择学员序号是否在范围的函数
# 带返回值的函数 函数执行完成后,会返回一个结果,可以声明变量接收这个结果
def get_index(type):
'''
函数的功能描述:获取用户选择学员序号
:param type: 选择序号的类型
:return: 选择的序号
'''
index = input('请选择要%s的学员序号:'%type)
# 装换为整数类型
index = int(index)
# 判断序号是否在范围内
while index not in range(0, len(student_list)):
index = input('选择的学员序号不存在,请重选:')
index = int(index)
# 返回选择的序号
return index
# 修改学员函数
def update_student():
'''
:return: None
'''
# 1.查询学员信息
query_student()
# 2.选择要修改的学员序号
index = get_index('修改')
# 根据选择的索引取出对应的姓名
name = student_list[index]
# 获取修改后的名字
new_name = input('请输入修改后的姓名(%s):' % name)
# 根据索引修改列表中的数据
student_list[index] = new_name
# 删除学员函数
def delete_student():
# 1.查询学员信息
query_student()
# 2.选择要删除的学员序号
index = get_index('删除')
# 3.根据索引删除列表中的数据
del student_list[index]
# 声明一个大列表,存放学员的姓名
student_list = []
while True:
print('1.添加学员')
print('2.修改学员')
print('3.查询学员')
print('4.删除学员')
print('0.退出程序')
# 选择操作
num = input('请选择您的操作:')
num = int(num)
# 如果选择的数字不在0~5 继续选择
while num not in range(0, 5):
num = input('没有该选项,请重选:')
num = int(num)
if num == 1:
# 调用添加学员函数
add_student()
elif num == 2:
# 调用修改学员函数
update_student()
elif num == 3:
# 查询学员信息
query_student()
elif num == 4:
# 调用删除学员函数
delete_student()
else:
break
# 晚上把学员管理系统升级到2.0版本
# 数据存储结构如下:
'''
# 大列表中嵌套小列表,小列表中存储一个学员的完整信息
student_list = [['张三','22','男','110'],['李四','22','男','110'],['王五','22','男','110']]
# 例如要取出张三这个学员的信息
# 1.取出张三这个学员的小列表
student1 = student_list[0]
# 2.再从小列表中根据索引取出姓名、年龄、性别、电话
name = student1[0]
age = student1[1]
sex = student1[2]
phone = student1[3]
'''
'''
# 大列表中嵌套小列表,小列表中存储一个学员的完整信息
student_list = [['张三','22','男','110'],['李四','22','男','110'],['王五','22','男','110']]
# 例如要取出张三这个学员的信息
# 1.取出张三这个学员的小列表
student1 = student_list[0]
# 2.再从小列表中根据索引取出姓名、年龄、性别、电话
name = student1[0]
age = student1[1]
sex = student1[2]
phone = student1[3]
'''
# 添加学员函数
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('**********学员信息列表***********')
# 遍历大列表
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))
# 修改学员函数
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.删除所有学员')
# 获取输入的内容 并转换为整数类型
num = int(input('请选择您的操作:'))
while num not in range(1, 3):
num = int(input('选项错误,请重选:'))
# 判断选择选项
if num == 1:
# 1.展示所有学员的信息
query_student()
# 2.选择删除的序号
index = int(input('请输入要删除的学员序号:'))
# 3.判断选择序号是否在范围内
while index not in range(0, len(student_list)):
index = int(input('没有该序号,请重选:'))
# 4.删除指定索引的数据
del student_list[index]
# student_list.pop(index)
else:
# 确认删除
rs = input('确定要删除所有信息?y(确定)/n(取消):')
if rs == 'y':
# 删除列表中的所有的数据
student_list.clear()
else:
print('删除数据操作已取消!')
# 1.声明大列表,存放所有学员信息
student_list = []
# 2.while循环
while True:
print('*******学员管理系统V2.0********')
print('*******出品人:智游集团********')
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