Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Projeto - Exercício de classes

Olá pessoal!

Estou estudando classes nas aulas de objetos orientados em Python.

A seguir está um projeto de uma classe "TV" que criei junto com um programa utilizando essa classe. Encontrei essa ideia numa lista de exercício no "Python Brasil", muito boa recomendo!

Estou compartilhando aqui com o intuito de opiniões a respeito de melhora sobre o código, só para saber se estou caminhando na trilha certa haha.

Classe:

class TV:
    def __init__(self, canal=1, volume=50):
        self._canal = canal
        self._volume = volume

    def __str__(self):
        return f'o canal atual é {self.canal}, e o volume atual é {self.volume}'

    @property
    def canal(self):
        return self._canal

    @canal.setter
    def canal(self, novo_canal):
        if type(novo_canal) == int:
            if 0 < novo_canal <= 150:
                self._canal = novo_canal
            else:
                print('Canal inválido.')
        else:
            print('O canal deve ser um número.')

    @property
    def volume(self):
        return self._volume

    @volume.setter
    def volume(self, novo_volume):
        if type(novo_volume) == int:
            if 0 < novo_volume <= 100:
                self._volume = novo_volume
            else:
                print('Canal inválido.')
        else:
            print('O volume deve ser um número')

    def mudar_canal(self):
        canal_novo = int(input("Mudar canal para: "))
        self.canal = canal_novo

    def mudar_volume(self):
        volume_novo = int(input("Mudar volume para: "))
        self.volume = volume_novo

Programa

from tv import TV
import time

tv1 = TV()
selecao = 1
roda = True

while roda:
    print('\n'*5)
    print(tv1)

    print('\nOpções:'
          '\n(1)Mudar canal'
          '\n(2)Mudar volume'
          '\n(3)Desligar')
    selecao = int(input('Seleção: '))

    if selecao == 1:
        tv1.mudar_canal()
    elif selecao == 2:
        tv1.mudar_volume()
    elif selecao == 3:
        print('É hora de dar tchau ...')
        break
    else:
        print('Selecione uma opção válida.')

    time.sleep(2)
1 resposta
solução!

Oi Adriano, tudo bem?

Parabéns por estar praticando e compartilhando seus estudos! Isso é muito importante para o aprendizado.

Vamos lá, seu código está bastante organizado e fácil de entender. A estrutura da sua classe TV está bem definida e os métodos estão coerentes. Continue firme nos estudos!

Um abraço e bons estudos.