Boa tarde,
Gostaria de tirar um dúvida em relação a objetos e seus atributos.
Para treinar, resolvi criar uma classe de cotações para retornar as conversões, algo mais simples. O que diferenciaria de uma função fora da área de orientação a objetos é que o objeto receberia os valores de cada moeda (dólar, euro), e dentro da classe haveriam funções de conversão de acordo com os valores definidos.
O objetivo, com vários objetos criados, seria calcular a média da variação de uma certa moeda durante um tempo, ou seja, recebendo todos atributos "euro" e os colocasse em uma lista, desse modo ficaria fácil, afinal é só fazer a soma da lista dividido pelo seu tamanho.
Há algum modo direto de fazer isso, que o próprio programa oferece? Se não, há algum modo indireto, que moldemos para que isso aconteça?
class Cotacoes:
def __init__(self, dolar, euro): # cotações em relação ao real
self.__dolar = dolar
self.__euro = euro
def mostrar_cotacoes(self):
print("R$1.00 é igual U${:.2f} e €{:.2f} hoje.".format(self.__dolar, self.__euro))
def dolar_para_real(self, quantos_dolares):
total = quantos_dolares * self.__dolar
print("U${:.2f} é igual a R${:.2f}".format(quantos_dolares, total))
def euro_para_real(self, quantos_euros):
total = quantos_euros * self.__euro
print("€{:.2f} é igual a R${:.2f}".format(quantos_euros, total))
def dolar_para_euro(self, quantos_dolares):
relacao_dolar_euro = self.__dolar / self.__euro # transformar dolar em 1 para euro
total = relacao_dolar_euro * quantos_dolares
print("U${:.2f} é igual a €{:.2f}".format(quantos_dolares, total))
def euro_para_dolar(self, quantos_euros):
relacao_euro_dolar = self.__euro / self.__dolar # transformar euro em 1 para dólar
total = relacao_euro_dolar * quantos_euros
print("€{:.2f} é igual a U${:.2f}".format(quantos_euros, total))
cotacao1 = Cotacoes(4.76, 5.28)
cotacao2 = Cotacoes(4.81, 5.37)
cotacao3 = Cotacoes(4.71, 5.20)
# Gostaria de criar uma lista com todos os atributos self.__dolar
# Nesse caso => [4.76, 4.81, 4.71]
# E fazer a média: sum(lista) / len(lista)
# Há algum modo de fazer isso?