python 函数,字典,列表使用综合实例(经典)

现有一字典:

dict1 = {'01': [67, 88, 45], '02': [97, 68, 85], '03': [97, 98, 95], '04': [67, 68, 45], }

存放着学生的学号和成绩。成绩列表中的3个数据分别是学生的语文、数学、英语成绩。

要求:

1.编写函数,返回每门成绩均大于等于85的学生的学号。

dict1 = {'01': [67, 88, 45], '02': [97, 68, 85], '03': [97, 98, 95], '04': [67, 68, 45], }
def avg(dict, score):
    l=[]
    for k, v in dict.items():
        if (v[0] >= score and v[1] >= score and v[2] >= score):
              l.append(k)
    return l
print(avg(dict1, 85))

2.编写函数,返回每一个学号对应的平均分(sum 和 len)和 总分,结果保留两位小数。

def avg2(dict):
    l={}
    for k, v in dict.items():
        l[k] = [round((sum(v) / len(v)),2), round((sum(v)),2)]
    return l
print(avg2(dict1))

3.编写函数,返回按总分升序排列的学号列表

def avg3(dict):
    l={}
    s=[]
    for k, v in dict.items():
        l[round((sum(v)),2)] = k
    m=sorted(l)

    for v in m:
        s.append(l[v])
    return s
print(avg3(dict1))

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/4647.html

(7)
江山如画的头像江山如画管理团队
上一篇 2020年1月31日 下午7:55
下一篇 2020年2月2日 下午5:20

99%的人还看了以下文章

  • Robotstudio示教编程与仿真运行教程

    Robotstudio软件中内置的虚拟示教器与真实的工业机器人示教器没有任何区别,对于学习ABB机器人现场示教编程的,可以在基础工作站中进行学习使用。

    2022年5月3日 编程开发
    10.6K0
  • 卷积神经网络 数据维度计算公式:输入输出关系、输出维度

    假设你有 5 个大小为 7×7、边界值为 0 的卷积核,同时卷积神经网络第一层的深度为 1。 此时如果你向这一层传入一个维度为 224x224x3 的数据,那么神经网络下一层所接收到的数据维度是( )。 A.218*218*5 B.217*217*8 C.217*217*3 D.220*220*5 在进行深度学习训练时,优化器会对模型的参数进行优化…

    2022年9月22日 编程开发
    15.0K3
  • Pillow-优秀的Python图像处理库安装及入门教程

    Pillow库是Python 图像处理库(Python image library)的一个派生分支,提供了广泛的文件格式(BMP,PNG,JPEG等)支持,提供基本的图像处理能力,如: 图像存储、图像显示、改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等等。 比起OpenCV库的图像处理,功能有限,但函数使用非常方便,大…

    2020年12月8日
    4.5K0
  • 【深度学习】:3分钟入门Dropout层

    深度神经网(DNN)中经常会存在一个常见的问题:模型只学会在训练集上分类(过拟合现象),dropout就是为了减少过拟合而研究出的一种方法。

    2023年1月15日
    7.4K0
  • NumPy快速入门(一)

    NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy作为高性能科学计算和数据分析的基础包,是其他重要数据分析工具的基础。 一、认识NumPy数组对象 import numpy as np #导入numpy数据包 data=np.arange(…

    2022年1月24日
    1.5K0
  • String、StringBuffer、StringBuilder的区别?

    String在实例化之后,其内存空间的内容大小是不能够被修改的;而StringBuffer是一个线程安全的可变字符序列,在实例化之后可以动态的修改堆内存中的内容,所以内存长度和大小是可变的;StringBuilder实例化之后内存大小长度也是可变的,不同之处在于StringBuilder不是线程同步,因此操作起来必然比StringBuffer更加高效。

    2018年10月24日
    2.9K0

发表回复

登录后才能评论