代码不知道错在哪儿?无法进行下去了,跪求帮助解答

我是一名python初学者,想通过学习的内容编制一个简易计算器,能够通过面向对象方式实现简易的运算,建立了两个类及方法,但是不知道怎么衔接并继续正常运行,请大神指点迷津,是我思路错误了,还是语句错误,万分感谢。



class Number:
    def __init__ (self,num1,symbol,num2):
        self.num1 = num1
        self.symbol = symbol
        self.num1 = num1

    def calculator(self):
        if self.symbol == 'X':
            res = float(self.num1 * self.num2)
            return'%d %s %d=%s'%(self.num1,self.symbol,self.num2,res)
        elif self.symbol =='':
            res = float(self.num1 / self.num2)
            return'%d %s %d=%s'%(self.num1,self.symbol,self.num2,res)
        elif self.symbol == '+':
            res = float(self.num1 + self.num2)
            return'%d %s %d=%s'%(self.num1,self.symbol,self.num2,res)
        elif self.symbol == '-':
            res = float(self.num1 - self.num2)
            return'%d %s %d=%s'%(self.num1,self.symbol,self.num2,res)
        else:
            print('您输入的符号不正确')
            return self.add_number
class Welcome(Number):

    def __init__(self):
        Number.__init__(self,new_num1,new_symbol,new_num2)
        new_num1 = self.new_num1
        new_symbol = self.new_symbol
        new_num2 = self.new_num2
        return  

    def yingdao(self):
        print('\n欢迎您使用***设计的简易计算器,在这儿可以计算简易的加减乘除运算')
        while True:
            print('现在你可以按照顺序输入')
            return self.add_number()



    def add_number(self):
        new_num1 = input('\n请先输入第一个数:')
        new_symbol = input('请输入这几个运算符中的一个(+、-、X、):')
        new_num2 = input('请输入第二个数:') 


        return Number.calculator(self)


test = Welcome()
test.yingdao()

上面的代码问题很多

  def __init__ (self,num1,symbol,num2):
        self.num1 = num1
        self.symbol = symbol
        self.num1 = num1 //应该是self.num2=num2
def __init__(self):
        Number.__init__(self,new_num1,new_symbol,new_num2)
        new_num1 = self.new_num1
        new_symbol = self.new_symbol
        new_num2 = self.new_num2
        return  

可以改为

def __init__(self):
        super().__init__(new_num1,new_symbol,new_num2)      
        return  

其实对于这个程序,根本不需要继承(没有理解继承的含义和使用场景)。只不过是提示用户输入,弄得过于复杂

供参考:

class Calculator:
    def __init__ (self,num1,symbol,num2):
        self.num1 = num1
        self.symbol = symbol
        self.num2 = num2

    def calculate(self):
        if self.symbol == '*':
            res = float(self.num1 * self.num2)
        elif self.symbol =='/':
            res = float(self.num1 / self.num2)
        elif self.symbol == '+':
            res = float(self.num1 + self.num2)
        elif self.symbol == '-':
            res = float(self.num1 - self.num2)
        else:
            print('不能识别的运算符')
            return None

        print('%d %s %d=%s' % (self.num1, self.symbol, self.num2, res))

        return res

print('欢迎您使用***设计的简易计算器,在这儿可以计算简易的加减乘除运算')
num1 = input('\n请先输入第一个数:')
symbol = input('请输入这几个运算符中的一个(+、-、*、/):')
num2 = input('请输入第二个数:')

test = Calculator(int(num1),symbol,int(num2))
test.calculate()