1
resposta

Como crio um programa utilizando classes?

Estou tentando fazer o seguinte exercicio:

Classe Retangulo: Crie uma classe que modele um retangulo:

Atributos: LadoA, LadoB (ou Comprimento e Largura, ou Base e Altura, a escolher)

Métodos: Mudar valor dos lados, Retornar valor dos lados, calcular Área e calcular Perímetro;

Crie um programa que utilize esta classe. Ele deve pedir ao usuário que informe as medidades de um local. Depois, deve criar um objeto com as medidas e calcular a quantidade de pisos e de rodapés necessárias para o local.

Beleza, criei a classe e os métodos. Mas como fazer com que o input do usuário seja utlizado para criar algum objeto?

1 resposta

Olá Paulo, tudo bem com você?

Peço desculpas pela demora em lhe responder.

Você pode criar uma função contendo a interação com o usuário, a criação dos objetos para as classes que você criou e os cálculos necessários.

Deixo abaixo uma das possíveis soluções para a criação dessa classe e interação com o usuário.


class Retangulo:
    def __init__(self, base, altura):
        self._base = base
        self._altura = altura

    @property
    def base(self):
        return self._base

    @base.setter
    def base(self, novo_valor):
        self._base = novo_valor

    @property
    def altura(self):
        return self._altura

    @altura.setter
    def altura(self, novo_valor):
        self._altura = novo_valor

    @property
    def area(self):
        area = float(self._base * self._altura)
        return area

    @property
    def perimetro(self):
        perimetro = 2 * self._base + 2 * self._altura
        return perimetro


class Ceramica(Retangulo):
    def __init__(self, base, altura):
        super().__init__(base, altura)


class Comodo(Retangulo):
    def __init__(self, base, altura):
        super().__init__(base, altura)


def calculo():

    # Interação com o usuário
    comodo_altura = float(input('Informe a primeira medida do comodo: '))
    comodo_base = float(input('Informe a segunda medida do comodo: '))
    ceramica_altura = float(input('Informe a primeira medida da cerâmica: '))
    ceramica_base = float(input('Informe a segunda medida da cerâmica: '))

    # Criação dos objetos com os dados informados pelo usuário
    obj_comodo = Comodo(comodo_base, comodo_altura)
    obj_ceramica = Ceramica(ceramica_base, ceramica_altura)

    # Calculo com os objetos
    area_comodo = obj_comodo.area
    area_ceramica = obj_ceramica.area
    numero_de_ceramicas = area_comodo / area_ceramica

    print(f'A quantidade de cerâmicas usadas será {numero_de_ceramicas:.2f}')


calculo()

A função calculo() será responsável pela interação com o usuário, criação dos objetos e realização dos cálculos.

Em caso de mais dúvidas me coloco à disposição.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!