3
respostas

Pessoal como posso extrair inputs de usuario usando classes?


from random import randint

class Televisao:
    def __init__(self):
        self.__canal_inicial = 1
        self.__tv_desligada = 1

    @property
    def canal_inicial(self):
        return self.__canal_inicial

    @property
    def tv_desligada(self):
        return self.__tv_desligada

    def ligar(self):
        self.__tv_desligada = 0
        print("Tv Ligada")

    def desligar(self):
        self.__tv_desligada = 1
        print("Tv Desligada")

    def subir_canal(self):
        if self.tv_desligada == 1:
            print("Tv Desligada, nao adianta subir canal!")
        else:
            self.__canal_inicial += 1
            print(self.__canal_inicial)

    def descer_canal(self):
        if self.tv_desligada == 1:
            print("Tv Desligada, nao adianta descer canal!")
        else:
            self.__canal_inicial -= 1
            print(self.__canal_inicial)

    def canal_aleatorio(self):
        self.__canal_inicial = randint(1,100)
        print(self.__canal_inicial)

tv = Televisao()
tv.ligar()
tv.desligar()
tv.subir_canal()
tv.subir_canal()
tv.ligar()
tv.subir_canal()
tv.descer_canal()
tv.desligar()
tv.descer_canal()
tv.ligar()
tv.canal_aleatorio()
print(tv.canal_inicial)
tv.desligar()

Ta funcionando, mas queria saber como faz pra pegar inputs do usuario e transportar esses atributos de uma classe pra outra. Ex: Criar um metodo canal favorito, e gerar um input, e depois sintonizar o canal de acordo com o canal favorito do usuario. Obrigado.

3 respostas

Alguém consegue me ajudar?

Ex: Criar um metodo canal favorito, e gerar um input, e depois sintonizar o canal de acordo com o canal favorito do usuario. Obrigado.

Foi mais ou menos isso que você perguntou?


from random import randint

class Televisao:
    def __init__(self):
        self.__canal_inicial = 1
        self.__tv_desligada = 1

    @property
    def canal_inicial(self):
        return self.__canal_inicial

    @property
    def tv_desligada(self):
        return self.__tv_desligada

    def ligar(self):
        self.__tv_desligada = 0
        print("Tv Ligada")

    def desligar(self):
        self.__tv_desligada = 1
        print("Tv Desligada")

    def subir_canal(self):
        if self.tv_desligada == 1:
            print("Tv Desligada, nao adianta subir canal!")
        else:
            self.__canal_inicial += 1
            print(self.__canal_inicial)

    def descer_canal(self):
        if self.tv_desligada == 1:
            print("Tv Desligada, nao adianta descer canal!")
        else:
            self.__canal_inicial -= 1
            print(self.__canal_inicial)

    def canal_aleatorio(self):
        self.__canal_inicial = randint(1,100)
        print(self.__canal_inicial)

    def salvar_favorito(self, canal):
        self.favorito = int(canal)
        print(type (self.favorito))

    def canal_favorito(self):
        if self.tv_desligada == 1:
            print("Tv Desligada, nao adianta subir canal!")
        else:
            self.__canal_inicial += (self.favorito - self.__canal_inicial)
            print(self.__canal_inicial)

# tv = Televisao()
# tv.ligar()
# tv.desligar()
# tv.subir_canal()
# tv.subir_canal()
# tv.ligar()
# tv.subir_canal()
# tv.descer_canal()
# tv.desligar()
# tv.descer_canal()
# tv.ligar()
# tv.canal_aleatorio()
# print(tv.canal_inicial)
# tv.desligar()

fav = input("canal favorito:")
print(type (fav))
tv = Televisao()
tv.ligar()
for i in range(1,10):
    tv.subir_canal()
print(tv.canal_inicial)
tv.salvar_favorito(fav)
tv.canal_favorito()
print(tv.canal_inicial)


Legal!! entao nao preciso colocar o input dentro da classe? quando sei se preciso colocar ou nao dentro da classse?