【问题标题】:Implement function avg() that takes as input a list that contains lists of numbers实现函数 avg(),它将包含数字列表的列表作为输入
【发布时间】:2019-07-27 14:03:48
【问题描述】:

我完全不知道怎么做作业,这让我很紧张:

实现函数 avg(),它将包含数字列表的列表作为输入。每个数字列表代表特定学生在课程中获得的成绩。例如,这是一个四人班级的输入列表:

[[95, 92, 86, 87], [66, 54], [89, 72, 100], [33, 0, 0]]

函数 avg 应该打印,每行一个,每个学生的平均成绩。你可以假设每个成绩列表都是非空的,但你不能假设每个学生都有相同的成绩。

avg ([[95, 92, 86, 87], [66, 54], [89, 72, 100], [33, 0, 0]])

90.0

60.0

87.0

11.0

我完全迷失了,我知道我什至还没有找到答案。这是我到目前为止所做的

def avg(grades):
      return avg(grades)
 grades =[INSERT LIST OF RANDOM NUMBER]
 avg(grades)

是的,我知道这还不算接近,而且我的大脑有豌豆那么大。我想不通。任何人都可以帮助我并以白痴可以理解的方式解释它吗?这只是第一个问题。这应该是最简单的,但我做不到。

家庭作业将在几个小时后完成,因此我将不胜感激。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    嗯,你知道你需要依次处理每个学生,对吧?

    def avg(list_of_students):
        for student in list_of_students:
            ...
    

    您可以通过length = len(students)查看学生的成绩。

    您可以将该学生的成绩与total = sum(students) 相加。

    嘿,这看起来很像计算平均值所需的东西,不是吗?然后你应该print(average),对吧?

    我认为这些是您缺少的拼图,不是吗?

    【讨论】:

    • 我喜欢的是你在没有完成作业的情况下慷慨地将碎片放在那里。这样,这是他们的作品,而不是抄袭
    • 你很有耐心,伙计。
    • 非常感谢!我非常感谢您的帮助和解释。老实说,我不能感谢你。
    • @user8772789 当然,你可以感谢我:努力学习并掌握这些东西,这样我就可以在几年内雇用你。到时候见!
    • @AAA 谢谢。我想将他们推向正确的方向,但仍然让他们完成工作并从中学习。
    【解决方案2】:

    [avg(lst) for lst in myList]myList = [[95, 92, 86, 87], [66, 54], [89, 72, 100], [33, 0, 0]] 将服务于您的目的。

    【讨论】:

      【解决方案3】:

      您可以使用列表方法轻松解决此问题。 “sum”是 list(array) 中的一种方法,它返回列表中所有元素的总和。“len”是 list 中的另一种方法,它返回列表中所有元素的长度。代码如下所示

      x=[[95, 92, 86, 87], [66, 54], [89, 72, 100], [33, 0, 0]]
      for i in x:
          print(sum(i)/len(i))
      
      

      或者您可以尝试如下所示的列表理解

      x=[[95, 92, 86, 87], [66, 54], [89, 72, 100], [33, 0, 0]]
      print("".join(["{}\n".format(sum(i)/len(i)) for i in x]))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-15
        • 1970-01-01
        • 2017-09-28
        • 2020-03-09
        • 2018-03-18
        相关资源
        最近更新 更多