stuInfo=[
[1001,’Kate’,185,’Female’,[70,90,98]],
[1002,’Mike’,165,’Male’,[75,90,100,50,98]],
[1003,’John’,170,’Male’,[100,88,98,76]],
[1003,’John’,170,’Male’,[]]
]
场景3:录入新的学生信息, 例如:将学生的学号:1005,姓名:Lucy, 身高:170,性别:Female分数:数学80分,语文90分,英语100分,录入系统中,可以循环录入不同的学生信息,已经存在的学号是不能录入
print('=====功能1:按性别统计人数======\n''=====功能2:统计平均分大于多少===\n''=====功能3:添加学生信息=====\n''=====功能4:删除没有成绩的学生====')choice = input('请进行选择:')if choice == '1':# 执行统计性别人数ssex = input('请输入性别Female,Male:')Fcount = 0Mcount = 0for info in stuInfo:# print(info)if info[3] == 'Female':Fcount = Fcount + 1elif info[3] == 'Male':Mcount = Mcount + 1if ssex == 'Female':print('女生的人:', Fcount)elif ssex == 'Male':print('男生的人数:', Mcount)else:print('请输入:Male ,Female')elif choice == '2':# 统计平均分数iavg = input("统计大于XXX平均分的人数:")count = 0for info in stuInfo:# print(info)# 计算每个学生平均分if len(info[-1]) == 0:avg=0else:avg = sum(info[-1])/len(info[-1])if avg > int(iavg):count = count +1# print(info)print(count)elif choice == '3':stuNo = int(input('请录入学号:'))# 编号单独提取出来,放在列表中# 定义stuNos 空列表# 定义一个用户信息的空列表oneInfo = []stuNos = []for i in stuInfo:stuNos.append(i[0])# print(stuNos)if stuNo in stuNos:print("您输入的学号已经存在")else:sname = input("请录入姓名:")sheight = input("请录入身高:")ssex = input("请录入性别:")scorelist = input("请录入分数:").split(',')newScore = [] # 成绩的空列表,转换int 类型后,存在在该列表中print(scorelist) # ['']if len(scorelist[0]) == 0:newScore=[] # 代表没有录入成绩else:for score in scorelist: # 将socore成绩转换成int类型news = int(score)newScore.append(news)oneInfo.extend([stuNo, sname, sheight, ssex, newScore])stuInfo.append(oneInfo)print(stuInfo)elif choice == '4':# 删除没有成绩for info in stuInfo:if len(info[-1]) == 0:stuInfo.remove(info) # 直接将该信息移除print(stuInfo)else:print("请按要求输入选项")
