2
respostas

[Dúvida] Eu não estou conseguindo identificar o erro

Esta dizendo que o código está falhando porque o método alternar_estado() não está definido na classe Restaurante, como eu faço para retificar

class Restaurante: restaurantes = [] def init(self, nome, categoria): self.nome = nome.title() self.categoria = categoria.upper() self._ativo = False Restaurante.restaurantes.append(self)

def str(self): return f'{self.nome} | {self.categoria}'

@classmethod #metodo da classe def listar_restaurantes(cls): print(f'{"Nome do Restaurante".ljust(26)}| {"Categoria Restaurante".ljust(26)} | {"Status"}') for restaurante in cls.restaurantes: print(f'{restaurante.nome.ljust(25)} | {restaurante.categoria.ljust(26)} | {restaurante._ativo}')

@property
def ativo(self): 
  return '◯' if self._ativo else '⊗'

def alternar_estado(self):
  self._ativo = not self._ativo

restaurante_praca = Restaurante('Bom sabor', 'Goumert') restaurante_praca.alternar_estado() restaurante_pizza = Restaurante('Paladar' , 'Pizza')

Restaurante.listar_restaurantes()

2 respostas
class Restaurante:
    restaurantes = []

    def __init__(self, nome, categoria):
        self.nome = nome.title()
        self.categoria = categoria.upper()
        self._ativo = False
        Restaurante.restaurantes.append(self)

    def __str__(self):
        return f'{self.nome} | {self.categoria}'

    @classmethod
    def listar_restaurantes(cls):
        print(f'{"Nome do Restaurante".ljust(26)}| {"Categoria Restaurante".ljust(26)} | {"Status"}')
        for restaurante in cls.restaurantes:
            print(f'{restaurante.nome.ljust(25)} | {restaurante.categoria.ljust(26)} | {restaurante._ativo}')

    @property
    def ativo(self):
        return '◯' if self._ativo else '⊗'

    def alternar_estado(self):
        self._ativo = not self._ativo

Olá, aqui rodou normalmente, talvez seja a identação:

Minha saída no terminal não traz os símbolos, mais alguém com este problema?

minha saída no terminal fica assim

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

ja tentei mexer no Charset - uft-8, porém não adiantou nada olhei toda configuração no terminal mesma coisa, tentei imprimir no prompt, no PowerShell e nada mudou a unica coisa que eu acredito que possa ser é a versão do python(3.12.1) que estou usando ja que a versão do python do curso é diferente, mais alguém incomodado com a saída do terminal?