用Python随机打印一张成绩排名表

有五个学生,姓名自行添加,有三门考试:语文、数学、英语,随机为这10个同学生成分数【50,100】,需求:打印一张成绩排名表。

代码如下:

import random
import string
list_index=["名次","学号","姓名","语文","数学","英语","总分","均分"] #定义字段名
list_name=["赵云","关羽","张飞","黄忠","马超","张三","李四","李五","赵四","苏苏"] #定义名字
list_num=[]
dict_num={
     }
for i in range(0,len(list_name)):
    T=[]
    for j in range(0,3):
        T.append(random.randint(50,100))
    T.append(sum(T))
    T.append(T[-1]/len(T))
    T.insert(0,list_name[i])
    T.insert(0,2000+i)
    list_num.append(list(T))
    T.clear()
list_num=sorted(list_num,key=(lambda x:x[6]))
list_num.reverse()
for i in range(0,len(list_name)):
    dict_num[str(i+1)]=list_num[i]

print("成绩统计表".center(54,"#"))
print(str(list_index[0]).center(6),end=" ")
for j in range(1,8): #循环输出所有字段名
    print(list_index[j].center(5),end=" ")
print()
print("="*57)

for i,j in dict_num.items():
    print(str(i).center(8),end=" ")
    for x in j:
        print(str(x).center(6),end=" ")
    print()
print("="*57)

运行几次的结果:
用Python随机打印一张成绩排名表_第1张图片
用Python随机打印一张成绩排名表_第2张图片
菜菜的代码,希望能够帮助到你哟!

你可能感兴趣的:(Python,python,列表,random)