1
resposta

[Projeto] Hora da prática: instância de uma classe

class Restaurante:
    def __init__(self, nome,categoria,ativo=False):
        self.nome = nome
        self.categoria = categoria
        self.ativo = ativo

    def __str__(self):
        return f' Restaurante: {self.nome.ljust(20)} | Categoria: {self.categoria.ljust(20)} | Ativo: {self.ativo}'


restaurante_praca = Restaurante(
    nome = 'Praça',
    categoria = 'Italiana'
  )

print(restaurante_praca.nome)

if restaurante_praca.ativo:
  print(f'Restaurante {restaurante_praca.nome} está Ativo.\n')
else:
  print(f'Restaurante {restaurante_praca.nome} está Inativo.\n')

categoria_praca = restaurante_praca.categoria
print(categoria_praca)

restaurante_praca.nome = 'Bistrô '
print(restaurante_praca.nome )

restaurante_pizza = Restaurante(
    nome = 'Pizza Place',
    categoria = 'Fast Food'
)

if restaurante_pizza.categoria == 'Fast Food':
  print(f'A categoria do restaurante {restaurante_pizza.nome} é: {restaurante_pizza.categoria} \n')

restaurante_pizza.ativo = True


def exibir():
    for indice, restaurante in enumerate(restaurantes, start=1):
        print(f'{indice}. {restaurante}')

restaurantes = [restaurante_praca, restaurante_pizza]

exibir()

Resultado:

Praça
Restaurante Praça está Inativo.

Italiana
Bistrô 
A categoria do restaurante Pizza Place é: Fast Food 

1.  Restaurante: Bistrô               | Categoria: Italiana             | Ativo: False
2.  Restaurante: Pizza Place          | Categoria: Fast Food            | Ativo: True
1 resposta

Oi, Talita! Tudo bom?

Excelente! Siga praticando com os desafios e sempre compartilhe conosco.

Você soube aplicar o encapsulamento para organizar os dados de cada restaurante de forma eficiente, aproveitou o método __str__ para exibir as informações com clareza e entendeu como o uso de listas e loops com enumerate é essencial para iterar e numerar os objetos na coleção de forma prática.

Como dica adicional, experimente utilizar filtros com list comprehension quando precisar exibir apenas restaurantes ativos. Assim:

restaurantes_ativos = [r for r in restaurantes if r.ativo]
for r in restaurantes_ativos:
    print(r)

Com isso, você poderá trabalhar com conjuntos filtrados com mais facilidade e legibilidade.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!