#无法运行,能看一下问题在哪里嘛?
这是创建一个课程列表
cour_list = []
for i in range(3):
cour = input('请输入第%s个课程名称:'%(i+1))
cour_list.append(cour)
avg_list = []
这是以学生为key,成绩为values
dd = {}
for j in range(5):
# 这是创建一个列表,为了放成绩
student = []
no = input('请输入第%d个学生的学号:' % (j+1))
if type(no) == int:
print('学号没问题')
else:
print('学号出问题了')
name = input('请输入第%d个学生的姓名:' % (j+1))
p_list = []
for t in range(3):
p = input('请输入该学生的%s课程的成绩:'%(cour_list[t]))
if 0<=int(p)<=100:
print('数字没问题')
else:
print('数字出问题了')
p_list.append(int(p))
dd[name] = p_list
print(cour_list)
学生的成绩平均分
print(dd,'dd')
pp = {}
for k,v in dd.items():
pp[k] = sum(v)
print(pp,'pp')
课程平均分
oo = []
第一门成绩
oo1 = []
第二门
oo2 = []
第三门
oo3 = []
for i in dd:
oo.append(dd[i])
oo1.append(dd[i][0])
oo2.append(dd[i][1])
oo3.append(dd[i][2])
print(oo,'oo',oo1,oo2,oo3)
把每个人成绩总和进行排序
b3_2 = sorted(pp.values(), reverse=True)
print(b3_2,'b3_2')
tt2 = []
这个是通过上面的排序,去找到学生
for i in b3_2:
for j in pp:
if pp[j] in tt2:
continue
else:
if pp[j] == i:
tt2.append(j)
这就是排完序的学生名字
print(tt2,'tt2')
er = '姓名'
we = er +' ' + cour_list[0] +' '+cour_list[1
]+' '+cour_list[2] + ' ' + '学生平均成绩'
print(we)
通过学生打印成绩
for yy in tt2:
print("%s %s %s %s %s "%(yy, dd[yy][0],dd[yy][1],dd[yy][2],int(pp[yy])/3))
print("%s %s %s %s"%('课程平均成绩',sum(oo1)/5,sum(oo2)/5,sum(oo3)/5))