#完成下面示例实训(理解命令格式及程序功能,分析输出结果等)
#【示例】请编程,模拟62名学生的基本数据(学号,姓名,性别,成绩)并按要求输出。
import random
xb=['林','谢','张','王','吕','李','黄','陈','孙','毛','文','蒋','卢','杨','吴','郭','许','姚','马','邹','金','牛']
mj=['芳','军','明','华','玉','素','小','红','伟','青','文','章','宏','志','中','宫','金','吴','辉','鹏','京','松','福','彬','赞','海','伟']
hm=[] #学号列表
cg=[] #成绩列表
xsdata=[('学号','姓名','性别', '成绩')] #用列表存放学生基本信息,每个学生的信息用元组存放。
xsdataw=[('学号','姓名','性别', '成绩')] #存放女生的基本信息
for k in range(62):
hm.append(22001+k) #假定学号为22001~~22062
cg.append(random.randint(30,100)) #假定成绩介于 30~~100分
j=random.randint(0,20) #随机产生一个0~19的整数,以便生成姓用字
t=random.randint(0,20) #随机产生一个0~19的整数,以便生成名女用字
xm=xb[j]+mj[j]+mj[t] # 姓 随机取一个 xb[j] 名字 随机取两个字 mj[j]+mj[t]
sex='男'
if j%3==0:
sex='女';xsdataw=xsdataw+[(hm[k],xm,sex,int(cg[k]))]
xsdata=xsdata+[(hm[k],xm,sex,int(cg[k]))]
print(hm[k],xm,sex,int(cg[k]),'\n') #输出个人基本信息
print("-"*45)
for k in xsdata: #逐个输出个人信息,元组形式
print( k )
print("-"*30)
#输出女同学基本信息
for k in range(len(hm)):
if "女" in xsdata[k]:
print(xsdata[k])
""" 练习:输出85分以上的女同学基本信息 .提示:修改 if "女" in xsdata[k]: 为 if "女" in xsdata[k] and xsdata[k][3]>=85 :
"""
#排序后输出成绩
print("成绩排序输出")
cg.sort()
print(cg)
print("-"*50)
# 练习:输出最高分、最低分及平均分,并输出最高分、最低分的同学基本信息。
maxg=max(cg)
ming=min(cg)
print("MAX: ",maxg," MIN: ",ming, " avg: ",sum(cg)/len(cg) )
for k in range(len(hm)):
if maxg in xsdata[k]:
print(xsdata[k])
if ming in xsdata[k]:
print(xsdata[k])
print("===工作任务完成!===")

