- 只需要一个while函数即可解决:
"""
班级学员管理系统
需求:
简单的设计一下首页。
1、添加学员信息,设计简单的页面
2、删除学员信息,学员信息为空则不执行操作
3、修改学员信息,学员信息为空不执行操作
4、查找学员信息,把学员信息,依次输出在终端页面
"""
Student_List = []
count = 0
while True:
def adds():
print('-------------------添加学员信息-------------------')
for Idx in range(10000):
Idx += 1 # 学号从1开始,应该本行代码放在开头,若放在末位则导致学号从0开始
name = input(' * 请输入学员姓名:')
age = input(' * 请输入学员年龄:')
address = input(' * 请输入学员家庭地址:')
stu_list = [Idx, name, age, address]
Student_List.append(stu_list)
print('* 学号:%s | 学生姓名:%s | 年龄:%s | 家庭住址:%s' % (Idx, stu_list[1], stu_list[2], stu_list[3]))
choice = input('添加成功,是否继续添加? (退出请按n/N否则请按任意键继续) :')
if choice == 'n' or choice == 'N': # 不能写成 if choice == 'n' or 'N'
print('*--------------------返回主界面-------------------')
break
return 0
def modify():
print('-------------------修改学员信息-------------------')
if len(Student_List) == 0:
print('无法修改:没有学员信息')
else:
while True:
for idx, stu in enumerate(Student_List):
idx += 1
name = stu[0]
age = stu[1]
address = stu[2]
print('* 学号:%s | 学生姓名:%s | 年龄:%s | 家庭住址:%s' % (idx, stu[1], stu[2], stu[3]))
name = input('请输入将要修改的学员姓名:')
name1 = input('请输入要修改的学员姓名(无需修改请按 0):')
age = input('请输入要修改的学员年龄(无需修改请按 0):')
address = input('请输入要修改的学员家庭住址(无需修改请按 0):')
for idx, stu in enumerate(Student_List):
stu = Student_List[idx]
if name == stu[1]:
if name1 != '0':
stu[1] = name1
if age != '0':
stu[2] = age
if address != '0':
stu[3] = address
print('* 学号:%s | 学生姓名:%s | 年龄:%s | 家庭住址:%s' % (idx, stu[1], stu[2], stu[3]))
break
idx += 1
if idx == Student_List.__len__():
print(name, '学生不存在')
break
choice = input('修改成功,是否继续修改? (退出请按n/N否则请按任意键继续) :')
if choice == 'n' or choice == 'N':
print('*--------------------返回主界面-------------------')
break
return 0
def delete():
print('-------------------删除学员信息-------------------')
if len(Student_List) == 0:
print('无法删除:没有学员信息')
else:
while True:
for idx, stu in enumerate(Student_List):
idx += 1
name = stu[0]
age = stu[1]
address = stu[2]
print('* 学号:%s | 学生姓名:%s | 年龄:%s | 家庭住址:%s' % (idx, stu[1], stu[2], stu[3]))
name = input('请输入将要删除的学员姓名:')
for idx, stu in enumerate(Student_List):
stu = Student_List[idx]
if name == stu[1]:
del Student_List[idx]
print('删除成功!')
break
idx += 1
if idx == Student_List.__len__():
print(name, '该学生不存在')
break
for idx, stu in enumerate(Student_List):
idx += 1
name = stu[0]
age = stu[1]
address = stu[2]
print('* 学号:%s | 学生姓名:%s | 年龄:%s | 家庭住址:%s' % (idx, stu[1], stu[2], stu[3]))
choice = input('是否继续删除? (退出请按n/N否则请按任意键继续) :')
if choice == 'n' or choice == 'N':
print('*--------------------返回主界面-------------------')
break
return 0
def selects():
for idx, stu in enumerate(Student_List):
idx += 1
name = stu[0]
age = stu[1]
address = stu[2]
print('* 学号:%s | 学生姓名:%s | 年龄:%s | 家庭住址:%s' % (idx, stu[1], stu[2], stu[3]))
return 0
def main():
#首页
print('-------------学员管理系统--------------')
print(' ')
print('* 1.添加学员信息 ')
print('* 2.修改学员信息 ')
print('* 3.删除学员信息 ')
print('* 4.查看学员信息 ')
print('* 0.退出系统 ')
print('--------------------------------------------------\n'
'注意:初始系统不存有任何信息,第一步指令请不要输入0 \n 1以外的数或字,否则宕机!')
main()
num = int(input('* 请选择您要执行的操作:'))
if count == 0 and num != 0 and num != 1:
while 1:
print('宕机')
count += 1
#添加学员信息
if num == 1:
adds()
#修改学员信息
elif num == 2:
modify()
#删除学员信息
elif num == 3:
delete()
#查看学员信息
elif num == 4:
selects()
#退出系统
else:
print('—————————感谢使用!——————————')
break