Python:创建一个计算器类

时间:2016-10-28 20:17:20

标签: python

我想写一个类计算器,包括:

  • 一个名为add的函数,它接受两个包含double值的参数并返回它们的和
  • 一个名为subtract的函数,它接受两个包含double值的参数并返回它们的差值(从第一个中减去第二个)
  • 一个名为multiply的函数,它接受包含double值的两个参数并返回其产品
  • 一个名为divide的函数,它接受包含double值的两个参数,并返回第一个除以第二个值的值。如果第二个数字为零,则不要分割,并返回"您不能除以零!"

这是我的尝试,但显然它不正确。

class Calculator: 
    def add(x,y): 
        return x+ y 
    def subtract(x,y): 
        return x - y 
    def multiply(x,y): 
        return x * y 
    def divide(x,y): 
        if y==0: 
            return "You can t divide by zero!" 
        else: 
            return x/y 

从结果中,我得到了意外的标识符x和y。

2 个答案:

答案 0 :(得分:1)

python中的对象方法需要明确定义'这个'您从C'中了解的参数,或引用该对象本身的参数。在Python中,它通常被称为' self'。例如:

com.google.android.gms:play-services-ads:9.8.0

由于你的所有方法都不需要自己,并且计算器更像是方法的容器,你可以将它们定义为类方法,因此class Calc: def add(self,x,y): return x+y 可以在不创建对象的情况下工作:

Calc.add(3,4)

如果你是python的新手,请注意缩进也非常重要。

答案 1 :(得分:0)

此答案将被编程实验室系统接受:

class Calculator:

   def add(self, x, y):
       self.x = x
       self.y = y
       a = self.x + self.y
       return a
    
   def subtract(self, x, y):
       self.x = x
       self.y = y
       a = self.x - self.y
       return a
    

   def multiply(self, x, y):
       self.x = x
       self.y = y
       a = self.x * self.y
       return a
    

   def divide(self, x, y):      
       self.x = x
       self.y = y
        
       if (y == 0):
           a = "You can't divide by zero!"
       else:
           a = self.x / self.y  
    
       return a

还有更多简单的部分,但是编程实验室编辑器会接受。有时可能会有点挑剔。