最终结果中的问题 (Python)
Problems in the final result (Python)
我是 python 的初学者,我正在开发一个计算器,创建一个 class,其中有 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,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'>'' (????)
它没有带来结果...
在主文件中
- 您必须像这样创建一个参数为 1 和 2 的对象:
my_object_cal = Calculadora(number1,number2)
- 然后,你根据符号 (*+-/) 使用
if/elif/else
调用正确的函数,如下所示:
if sign =="+" :
my_object_cal.soma(number1, number2)
elif sign == "-" :
my_object_cal.subtrai(number1, number2)
elif ...
else ...
可以参考this tutorial on if,elif,else
你也要学习how to create and instantiate object in python
之后你可以在using static methods
中晋级
祝你好运。
我不确定您在这里寻找什么,但您有一些问题需要解决。我可能遗漏了一些东西,但你需要实例化你的 class 才能发生任何事情,并且在这样做时你需要为你的 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
不确定这是否是您要查找的内容,但可以轻松将其调整为不同的格式,或者如果需要,运行 可以略有不同。祝你好运!
我是 python 的初学者,我正在开发一个计算器,创建一个 class,其中有 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,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'>'' (????)
它没有带来结果...
在主文件中
- 您必须像这样创建一个参数为 1 和 2 的对象:
my_object_cal = Calculadora(number1,number2)
- 然后,你根据符号 (*+-/) 使用
if/elif/else
调用正确的函数,如下所示:
if sign =="+" :
my_object_cal.soma(number1, number2)
elif sign == "-" :
my_object_cal.subtrai(number1, number2)
elif ...
else ...
可以参考this tutorial on if,elif,else
你也要学习how to create and instantiate object in python
之后你可以在using static methods
中晋级祝你好运。
我不确定您在这里寻找什么,但您有一些问题需要解决。我可能遗漏了一些东西,但你需要实例化你的 class 才能发生任何事情,并且在这样做时你需要为你的 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
不确定这是否是您要查找的内容,但可以轻松将其调整为不同的格式,或者如果需要,运行 可以略有不同。祝你好运!