0

对于我的 IS 计算机科学课程,我们正在学习如何使用课程。这是我最难理解的部分,我一直在努力解决我可能找到的所有问题,但我一直卡住。其中之一如下:

  1. 定义一个类GymStats,用于存储一个人的姓名以及一系列锻炼的深蹲和硬拉(以磅为单位)。
  2. 构造函数应该接受一个参数,即人名。
  3. 该方法addStats(s, d)应添加来自单次锻炼的数据(以磅为单位的 2 个数字)。
  4. 应该有另外两种方法getSquatStats()getDeadliftStats(),每种方法都为各自的练习返回一个长度为 3 的最小、最大和平均值的元组。
  5. 最后一个方法,showAll()打印该人输入的统计数据的完整列表。

这是给出的示例:

 >>>g = GymStats('Andrew')
 >>>g.addStats(200,250)
 >>>g.addStats(220, 300)
 >>>g.addStats(234, 284)
 >>>g.GetSquatsStats()
 (200, 234, 218)
 >>>g.getDeadliftStats()
 (250, 234, 218)
 >>>g.showAll()
 Andrew's gym stats:
 Squat:   Deadlift
 200      250
 220      300
 234      284

到目前为止,这就是我所拥有的:

class GymStats:
    def __init__(self, s, d):
        self.s = s

    def addStats(s,d):
        'nothing yet'

    def getSquatStats():
        count = 0
        for int in s:
            count += 
        return (min(s), max(s), 

    def getDeadLiftStats():
        count 2 - =

        return (min(d), max(d), 

    def showAll()
        print s 'gym stat"s':
            return ('Squat'.... 'Deadlift')

我不知道如何平均线之间的数字,所以我一直坚持这一点。而且我不确定哪些命令应该去哪里。任何帮助将不胜感激。

4

1 回答 1

1

这将使您开始:

class GymStats:
    def __init__(self, name):
        self.name = name
        self.squats = []
        self.deadlifts = [] # now every object (instantiation) of class GymStats has a name, a squats that is an list and a deadlifts that is a list

    def addStats(self, squat, deadlift):
        self.squats.append(squat)
        self.deadlifts.append(deadlift) # since GymStats can only be made via __init__, we know for a fact that squats and deadlifts exist and are lists

    def GetSquatsStats(self):
        return (min(self.squats), max(self.squats)) # now add the average as the third tuple member

要找到数字列表的平均值,您需要找到两件事:

- 所有数字的总和(提示:python 中有一个内置函数可以做到这一点)

- 列表中有多少个数字(同样,这是一个内置的)

然后,您只需将一个除以另一个。

其余的从这里应该是显而易见的。

于 2013-06-14T06:09:14.883 回答