"""
依次输入10名学生的姓名,随机为每个学生生成语文、数学、外语的分数【生辰分数介于50-100】,根据平均分来判断综合评定等级
·平均分85以上——综合评定A
·平均分70-85分——综合评定B
·平均分70分以下——综合评定C
统计出综合评定A、B、C的数量及学生姓名
"""
import random
Data = [] #空成绩表
name = "" #每个学生资料
renshu = 10 #学生数量
kemu = 3 #科目数量
# 生成成绩表
# [名字,科目01……,总分,平均分]
for n in range(renshu):
# name = input("请输入学生姓名:")
name = "name" + str(n+1)
data=[] #空学生资料
data.append(name) #填入名字到学生资料
sumfen = 0 #恢复总分为0
for i in range(0,kemu): #生成多少科目的成绩
fenshu = random.randrange(50,101) #50-100分之间的分数
sumfen += fenshu #累加总分
data.append(fenshu) #添加每科成绩到学生资料
data.append(sumfen) #添加总分到学生资料
avefen = sumfen / kemu #计算平均分
data.append(avefen) #添加平均分到学生资料
Data.extend([data]) #添加每名学生资料到成绩表
#print(Data) #打印成绩表
#统计综合评定人数
A = [0]
B = [0]
C = [0]
#[人数,名字……]
for s in range(0,renshu):
if Data[s][-1] >= 85:
A.append(Data[s][0])
A[0] += 1
elif Data[s][-1] >= 70:
B.append(Data[s][0])
B[0] += 1
else:
C.append(Data[s][0])
C[0] += 1
if A[0] != 0:
print(f"A级85分以上的有{A[0]}人,分别是{' '.join(A[1:])}")
if B[0] != 0:
print(f"B级70-85分的有{B[0]}人,分别是{' '.join(B[1:])}")
if C[0] != 0:
print(f"C级70分以下的有{C[0]}人,分别是{' '.join(C[1:])}")
Python统计学生综合评定成绩
最新推荐文章于 2023-04-11 19:16:54 发布