python上机2-统计学生信息

import numpy as np

ID=list(range(1,21))
Name=list(('李华','张三','李四','王五','王六','张华','李明','丹妮','赵四','刘能','谢广坤','大脚','赵某','孙某','孙浅','钱多','高雅','高宇','王明','熊大'))
C_scores=list(np.random.randint(0,100,20))
Java_scores=list((np.random.randint(0,100,20)))
classes=[list(i) for i in zip(ID,Name,C_scores,Java_scores)]
'''classes=[]
for i in range(len(ID)):
      for j in range(len(Name)):
          if i==j:
              for m in range(len(C_scores)):
                  if j==m:
                      for n in range(len(Java_scores)):
                          if n==m:
                              q=[ID[i],Name[j],C_scores[m],Java_scores[n]]
                              classes.append(q)'''
print(classes)
print("学号15的同学留级,删除其在班级中信息")
del classes[14]
print(classes)
xuehao=int(input('请输入转学生学号'))
xingming=input('请输入转专业学生姓名')
C=int(input('请输入转专业学生C语言成绩'))
Java=int(input('请输入转专业学生Java成绩'))
student=[xuehao,xingming,C,Java]
print(student)
classes.append(student)
print(classes)
grade_level=('优秀','良好','中等','及格','不及格')
for i in classes:
    if 90 <= i[2] <= 100:
        i.insert(3,grade_level[0])
    elif 80<=i[2]<90:
        i.insert(3,grade_level[1])
    elif 70<=i[2]<89:
        i.insert(3,grade_level[2])
    elif 60<=i[2]<79:
        i.insert(3,grade_level[2])
    else :
        i.insert(3,grade_level[3])
print("优秀的人数:%d个"%[i[3] for i in classes].count('优秀'))
print("良好的人数:%d个"%[i[3] for i in classes].count('良好'))
print("中等的人数:%d个"%[i[3] for i in classes].count('中等'))
print("及格的人数:%d个"%[i[3] for i in classes].count('及格'))
print("不及格的人数:%d个"%[i[3] for i in classes].count('不及格'))
list1=list([i[2] for i in classes])
print("最高分:")
print(max(map(int,list1)))
print("最低分:")
print(min(map(int,list1)))
aver=sum([i[2]for i in classes])/len(classes)
print("平均分:%d"%aver)
print("优秀学生的姓名及其c语言成绩,Java成绩信息:")
if [i[3] for i in information].count('优秀')==0:print("没有优秀学生")
else:
    print([(i[1], i[2], i[4]) for i in information if i[3] == '优秀'])
newclass=[{'学号':classes[i][0],'姓名':classes[i][1],'C语言成绩':[classes[i][2]],'C语言等级':classes[i][3],'Java成绩':classes[i][4]}for i in range(len(classes))]
print(newclass)
for i in newclass:
    if i['C语言等级'] == '不及格':
        print ("请输入%s的补考成绩:" % i['姓名'])
        bukao= int(input())
        i['C语言成绩'].append(bukao)
print(newclass)
print("按学号查找请输入1,按姓名查找请输入0")
k=int(input())
if(k==1):
    num=int(input("请输入学生学号:"))
    for i in newclass:
        if(num==i['学号']):
            print(i.items())
elif(k==0):
    name= input("请输入学生姓名:")
    for i in newclass:
     if (name == i['姓名']):
        print(i.items())
else:
    print("输入错误")


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值