使用Python类运行操作

时间:2013-06-14 06:03:58

标签: python

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

  1. 定义一个班级GymStats,用于存储一个人的姓名,深蹲和硬拉(以磅为单位)进行一系列锻炼。
  2. 构造函数应该接受一个参数,即人名。
  3. 方法addStats(s, d)应该从单次锻炼中添加数据(2个数字,以磅为单位)。
  4. 应该有另外两种方法getSquatStats()getDeadliftStats(),每种方法都会返回相应练习的最小长度,最大值和平均值的3个元组。
  5. 最后一个方法showAll()打印此人输入统计信息的完整列表。
  6. 以下是给出的例子:

     >>>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')
    

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

1 个答案:

答案 0 :(得分: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中有一个内置函数可以执行此操作)

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

然后你只需要分开一个。

其余部分应该从这里显而易见。