Untitled

 avatar
unknown
python
a year ago
1.5 kB
14
Indexable
from abc import ABC, abstractmethod


# Crie uma classe chamada Monitor que irá ter 2 métodos abstratos: aumentar_claridade e reduzir_claridade.
# Os métodos irão receber um número que representa o quanto de claridade deve ser aumentado ou diminuído ao chamar eles.
class Monitor(ABC):

    @abstractmethod
    def aumentar_claridade(self, valor):
        pass

    @abstractmethod
    def reduzir_claridade(self, valor):
        pass


# Após ter criado a classe abstrata, crie uma nova classe chamada de MonitorFullHD
# coloque a implementação dos métodos aumentar_claridade e reduzir_claridade dentro dele
class MonitorFullHD(Monitor):
    claridade_minima = 0
    claridade_maxima = 50
    claridade_atual = 25

    def aumentar_claridade(self, valor):
        print(f"Aumentando a claridade em {valor} pontos")
        MonitorFullHD.claridade_atual += valor
        if MonitorFullHD.claridade_atual >= MonitorFullHD.claridade_maxima:
            print(f"Claridade máxima de 50 pontos atingida")
        else:
            print(f"Claridade atual: {MonitorFullHD.claridade_atual}")

    def reduzir_claridade(self, valor):
        print(f"Reduzindo a claridade em {valor} pontos")
        MonitorFullHD.claridade_atual -= valor
        if MonitorFullHD.claridade_atual <= MonitorFullHD.claridade_minima:
            print(f"Claridade mínima atingida")
        else:
            print(f"Claridade atual: {MonitorFullHD.claridade_atual}")


monitor = MonitorFullHD()
monitor.aumentar_claridade(25)
monitor.reduzir_claridade(2)
Editor is loading...
Leave a Comment