问题描述
我是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
不确定这是否是您想要的,但是可以很容易地将其调整为其他格式,或者在需要时以稍微不同的方式运行。祝你好运!