最终结果中的问题(Python)

最终结果中的问题(Python),python,function,class,calculator,Python,Function,Class,Calculator,我是python的初学者,我正在开发一个计算器,创建一个类,其中有4个函数,即4个操作。而且主要只有基本的条目。我在这个项目中的目标是使用最小数量的“如果”。 有没有办法做到这一点? 但是,这给了我一个错误,我无法想象它是如何发生的,可能是在脸上,但我来这里是想请你帮忙 main.py from calc import * numero1 = int(input('Digite um numero: ')) sinal = input('Digite a operação: ') numero2

我是python的初学者,我正在开发一个计算器,创建一个类,其中有4个函数,即4个操作。而且主要只有基本的条目。我在这个项目中的目标是使用最小数量的“如果”。 有没有办法做到这一点? 但是,这给了我一个错误,我无法想象它是如何发生的,可能是在脸上,但我来这里是想请你帮忙

main.py
from calc import *
numero1 = int(input('Digite um numero: '))
sinal = input('Digite a operação: ')
numero2 = int(input('Digite outro numero: '))
retornaValor = 0
retornaValor = Calculadora
print(retornaValor)




calc.py
class Calculadora:

def __init__(self,numero1,numero2):
    self.a = numero1
    self.b = numero2

def soma(self,numero1,numero2):
    soma = self.a + self.b
    print('Resultado: ',soma)

def subtrai(self,numero1,numero2):
    subtrai = self.a - self.b
    print('Resultado: ',subtrai)

def divisao(self,numero1,numero2):
    divisao = self.a / self.b
    print('Resultado: ',divisao)
    
def multiplica(self,numero1,numero2):
    multiplica = self.a * self.b
    print('Resultado: ',multiplica)

Console: 

Digite um numero: 100
Digite a operação: +
Digite outro numero: 30
''<class 'calc.Calculadora'>'' (????)
main.py
从calc导入*
numero1=int(输入('Digite um numero:'))
sinal=输入('Digite a operação:')
numero2=int(输入('Digite outro numero:'))
纳瓦洛尔=0
Retronavalor=Calculadora
打印(重新打印)
计算量
Calculadora类:
定义初始值(自我、数字1、数字2):
self.a=numero1
self.b=numero2
def soma(自我、数字1、数字2):
soma=self.a+self.b
打印('Resultado:',soma)
def subtrai(自身、数字1、数字2):
subtrai=self.a-self.b
打印('Resultado:',子行)
定义分区(自身、编号1、编号2):
divisao=self.a/self.b
打印('Resultado:',divisiao)
def多重数(自身、数字1、数字2):
被乘数a=self.a*self.b
打印('Resultado:',被乘数)
慰问:
数字:100
迪吉特歌剧院:+
数字输出数字:30
'''' (????)
它不会在主文件中显示结果…

  • 您必须创建一个参数为1和2的对象,如下所示:
    my\u object\u cal=Calculadora(number1,number2)
  • 然后,使用
    if/elif/else
    调用基于符号(*+-/)的右函数,如下所示:
你可以参考

你也必须学习

在那之后,你可以继续前进


祝你好运。

我不确定你到底在找什么,但你有几个问题要解决。我可能遗漏了一些东西,但是您需要实例化您的类,以便发生任何事情,并且在执行此操作时,您需要为init函数提供参数。我还建议您合并一些if/else或try/except语句,以捕获用户提供的输入无法转换为int()的情况。考虑到这一点,下面是一个非常简单的工作示例:

#get user input (plug for if/else)
numero1 = int(input('Digite um numero: '))
sinal = input('Digite a operação: ')
numero2 = int(input('Digite outro numero: '))


class Calculadora(): #class needs to be defined with ()

    def __init__(self,numero1,numero2): #make sure to supply args here with self 
        self.numero1 = numero1
        self.numero2 = numero2

    def soma(self): #you don't need to supply the input args again if you've already declared above
        soma = self.numero1 + self.numero2
        print('Resultado: ',soma)

    def subtrai(self):
        subtrai = self.numero1 - self.numero2
        print('Resultado: ',subtrai)

    def divisao(self):
        divisao = self.numero1 / self.numero2
        print('Resultado: ',divisao)
        
    def multiplica(self):
        multiplica = self.numero1 * self.numero2
        print('Resultado: ',multiplica)


example = Calculadora(numero1,numero2) #instantiate the class with supplied args
print(example.subtrai()) #call the function you want from inside the class

不确定这是否是您想要的,但如果需要,可以轻松调整为不同的格式或稍微不同的运行方式。祝你好运

我们也无法想象。你能将整个错误粘贴到你的问题中吗?很抱歉,我会修复它,因为我用pt br编写了代码。但就在我用葡萄牙语看到stackoverflow之后。啊,好的,谢谢你的帮助,我会学习更多关于…@Luiz15K好运;)
#get user input (plug for if/else)
numero1 = int(input('Digite um numero: '))
sinal = input('Digite a operação: ')
numero2 = int(input('Digite outro numero: '))


class Calculadora(): #class needs to be defined with ()

    def __init__(self,numero1,numero2): #make sure to supply args here with self 
        self.numero1 = numero1
        self.numero2 = numero2

    def soma(self): #you don't need to supply the input args again if you've already declared above
        soma = self.numero1 + self.numero2
        print('Resultado: ',soma)

    def subtrai(self):
        subtrai = self.numero1 - self.numero2
        print('Resultado: ',subtrai)

    def divisao(self):
        divisao = self.numero1 / self.numero2
        print('Resultado: ',divisao)
        
    def multiplica(self):
        multiplica = self.numero1 * self.numero2
        print('Resultado: ',multiplica)


example = Calculadora(numero1,numero2) #instantiate the class with supplied args
print(example.subtrai()) #call the function you want from inside the class