Python:编写包含类的Counter的定义

时间:2015-05-10 12:12:10

标签: python class oop

  

编写包含以下内容的类Counter的定义:

     
      
  • 类型为counter的名为int的实例变量。
  •   
  • 一个构造函数,它接受一个int参数并将其值赋给counter
  •   
  • 一个名为increment的方法,向counter添加一个方法。它不接受参数或返回值。
  •   
  • 一个名为decrement的方法,从counter中减去一个方法。它也不带参数或返回值。
  •   
  • 一个名为get_value的方法,它返回实例变量counter的值。
  •   
class Counter(object):
    def __init__(self, counter):
        self.counter = counter
    def increment(self):
        self.counter += 1
    def decrement(self):
        self.counter -= 1
    def get_value(self):
        return self.counter

这是我的答案但旋转船只说它不正确我的作业即将到期:/所以请帮忙

4 个答案:

答案 0 :(得分:0)

class Counter(object):
    def __init__(self):
        self.counter = 0
    def increment(self):
        self.counter += 1
    def decrement(self):
        self.counter -= 1
    def get_value(self):
        return self.counter

答案 1 :(得分:0)

他们希望您以某种方式键入代码。你不一定错了,这不是他们想要的东西。

class Counter:
    def __init__(self, counter=0):
        self.__counter =counter

    def increment(self):
        self.__counter +=1

    def decrement(self):
        self.__counter -=1

    def get_value(self):
        return self.__counter

答案 2 :(得分:0)

class Counter:
    def __init__(self):
        self.counter=0
    def increment(self):
        self.counter+=1
    def decrement(self):
        self.counter-=1
    def get_value(self):
        return self.counter

此解决方案有效,但它没有按照我认为问题的方式设置构造函数。

答案 3 :(得分:0)

好吧,我非常讨厌MPL,而这个问题正是原因。解决方法如下:

class Counter(object):

    counter = 0

    def __init__(self, counter = 0):
        self.__counter = counter

    def increment(self):
        self.__counter += 1

    def decrement(self):
        self.__counter -= 1

    def get_value(self):
        return self.__counter

Counter()

实际上,您犯的唯一大错误是未使用本地化:self.__counter

但是MPL想要的是让您在作业 的末尾添加Counter(),即使在此之前的作业中没有指出或要求它。

em> 这个帖子可能很旧,但是这个问题仍然存在。

Proof of it being accepted here. Proof of the same code being rejected