Python统计学生综合评定成绩

"""
依次输入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:])}")
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值