Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

07 Hora da prática: instância de uma classe

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

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

restaurante_praca = Restaurante(
    nome = 'Praca',
    # 1- Atribua o valor 'Italiana' ao atributo categoria da instância restaurante_praca da classe Restaurante.
    categoria = 'Italiana'
)

restaurante_pizza = Restaurante(
    nome = 'Pizza',
    categoria='Italiana'
)

restaurantes = [ restaurante_praca, restaurante_pizza ]

#print(dir(restaurante_napoli))
#print(vars(restaurante_napoli))
print(vars(restaurante_pizza))

#restaurantes = ['Matsu', 'Pizza Suprema', 'Alibabos']
def exibir():
    '''Exibe o índice e todas as informações dos restaurantes'''
    for indice, restaurante in enumerate(restaurantes, start=1):
        print(f'{indice}.{restaurante}')

#2- Acesse o valor do atributo nome da instância restaurante_praca da classe Restaurante.
print(restaurante_praca.nome)

#3- Verifique o valor inicial do atributo ativo para a instância restaurante_praca e exiba uma mensagem informando se o restaurante está ativo ou inativo.
if restaurante_praca.ativo:
    print('Restaurante Praca Ativo.')
else:
    print('Restaurante Praca Inativo.')

#4- Acesse o valor do atributo de classe categoria diretamente da classe Restaurante e armazene em uma variável chamada categoria.
categoria_praca = restaurante_praca.categoria

#5- Altere o valor do atributo nome para 'Bistrô'.
restaurante_praca.nome = 'Bistrô'

#6- Crie uma nova instância da classe Restaurante chamada restaurante_pizza com o nome 'Pizza Place' e categoria 'Fast Food'.
restaurante_pizza = Restaurante(nome='Pizza Place', categoria='Fast Food')

#7- Verifique se a categoria da instância restaurante_pizza é 'Fast Food'.
if restaurante_praca.categoria == 'Fast Food':
    print('A categoria do restaurante_praca é: Fast Food')
else:
    print('A categoria do restaurante_praca não é: Fast Food')

#8- Mude o estado da instância restaurante_pizza para ativo.
restaurante_pizza.ativo=True

#9- Imprima no console o nome e a categoria da instância restaurante_praca.
print(f'Nome: {restaurante_praca.nome}, Categoria: {restaurante_praca.categoria}')

#Adiciona o novo restaurante_pizza atualizado na lista
restaurantes = [restaurante_praca, restaurante_pizza]

exibir()
#print(restaurantes[0])
2 respostas
solução!

Oi, Marcos! Como vai?

Você organizou bem as etapas da atividade, e a lógica aplicada para atualizar atributos e testar valores está muito clara. Destaque para o uso do str, que deixou a visualização dos dados mais elegante.

Continue firme nos estudos.

Alura

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

Obrigado Lorena.