【问题标题】:Python- Function which returns the average markPython-返回平均分的函数
【发布时间】:2015-01-05 16:16:01
【问题描述】:

我正在尝试创建一个返回学生模块平均值的函数。学生的数据存储在一个包含以下内容的列表中,因此 Dave 有:('Dave', 0, 'none', 'M106', ['50'])
然后奥利有:('Ollie', 'M104', 0, 'none', ['60'])。我不知道如何从两个平均值中得到平均值。

def moduleAverage(self):
    if student.getAverage is > 0:

    return self.moduleAverage

【问题讨论】:

  • 什么是is >
  • 如果你有两个数字,你知道如何求平均值吗?如果您有一个表示数字的字符串,您是否知道如何将其转换为整数(或浮点数)。如果你有一个包含多个元素的列表(或元组),你知道如何获取你想要的元素的值吗?
  • > 大于? student 是另一个文件中的一个类,其中包含学生详细信息列表(它包含课程名称、平均分数等),但我试图让这个函数做的是计算所有学生平均值的平均值。跨度>
  • 你有什么学生课吗?还是只是元组? student 只是一个元组列表吗?
  • 什么是学生模块?

标签: python list function


【解决方案1】:

好的,首先我要说:更正你的缩进。 所以我现在举一个小例子:

studentDetails = []
studentDetails.append(('Peter', ['40']))
studentDetails.append(('Frank', ['100']))
studentDetails.append(('Ernest', ['40']))

def moduleAverage(inList):
    total = 0.0
    for i in xrange(0, len(inList)):
        total += float(inList[i][1][0]) # the score is at the index 1 in the tuple (('Peter', ['40']))

    return (total / float(len(inList)))

print moduleAverage(studentDetails)

注意:您将单个标记 ['40'] 作为字符串,因此您必须将其转换为浮点数。 在学生元组中也保持相同的顺序。 我不知道你的整个结构,所以我只是用你在问题中提到的元组做了一个简单的算法示例。

【讨论】:

    猜你喜欢
    • 2021-02-13
    • 2014-05-02
    • 2015-03-29
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多