最终结果中的问题Python

问题描述

我是python的初学者,我正在开发计算器,创建一个类,在其中有4个函数,即4个操作。并且在主要方面只有基本条目。我在该程序中的目标是使用最少的“ if”。 有没有办法做到这一点? 但是,这给了我一个我无法想象它是如何发生的错误,可能是在脸上,但是我来这里是为了向您寻求帮助

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,numero2):
    soma = self.a + self.b
    print('Resultado: ',soma)

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

def divisao(self,numero2):
    divisao = self.a / self.b
    print('Resultado: ',divisao)
    
def multiplica(self,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'>'' (????)

没有带来结果...

解决方法

在主文件中

  • 您必须创建一个参数编号为1和2的对象,例如:django.utils.datastructures.MultiValueDictKeyError: 'teacher_year'
  • 然后,您像这样使用my_object_cal = Calculadora(number1,number2)调用基于符号(* +-/)的正确函数:
if/elif/else

您可以参考this tutorial on if,elif,else

您还必须学习how to create and instantiate object in python

之后,您可以进入using static methods

祝你好运。

,

我不确定您在这里找什么,但是您有一些问题要解决。我可能会丢失一些东西,但是您需要实例化您的类以使任何事情发生,并且在执行此操作时,您需要为 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

不确定这是否是您想要的,但是可以很容易地将其调整为其他格式,或者在需要时以稍微不同的方式运行。祝你好运!

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...