1
resposta

Nome do restaurante não aparece!

Durante meus testes, notei que os resultados não apareceram conforme as orientações dos vídeos. Tive que analisar o processamento das informações após criar a variável "nome_do_restaurante", que iguala a própria variável do for, sendo ela "restaurante". Então, dei um tempo e encontrei uma maneira de obter a informação desejada ao percorrer a lista no for. Durante a chamada do print, inseri a informação que desejava entre colchetes na variável "nome_do_restaurante".

Deem uma olhada nos artigos sobre a linguagem que estão estudando ajuda dar um norte, eu li sobre a de dicionário e do funcionamento do for aqui no alura tem esses artigos.

def listar_restaurantes():

exibir_subtitulo('Lista dos restaurantes\n')

for restaurante in restaurantes:
    nome_do_restaurante = restaurante
    print(f' - {nome_do_restaurante['Nome']}\n')  #### eu inseri o que estava buscando no print.

retorna_ao_menu()    
1 resposta

Olá, Elias! Tudo joia?

Parece que você está no caminho certo, mas há um pequeno erro de sintaxe na sua linha de código. Quando você está tentando acessar o valor da chave 'Nome' no dicionário, você está usando aspas simples dentro de aspas duplas, o que causa um problema de sintaxe.

Aqui está a correção:

def listar_restaurantes():
    
    exibir_subtitulo('Lista dos restaurantes\n')
    
    for restaurante in restaurantes:
        nome_do_restaurante = restaurante
        print(f' - {nome_do_restaurante["nome"]}\n')  # Corrigido para usar aspas duplas fora e aspas simples dentro.
   
    retorna_ao_menu()

Note que eu mudei as aspas de 'Nome' para "nome", pois o Python precisa de consistência na forma como as aspas são usadas.

Além disso, certifique-se de que sua lista de restaurantes está definida corretamente como uma lista de dicionários. Aqui está um exemplo para referência:

restaurantes = [
    {'nome': 'Praça', 'categoria': 'Japonesa', 'ativo': False},
    {'nome': 'Pizza Suprema', 'categoria': 'Pizza', 'ativo': True},
    {'nome': 'Cantina', 'categoria': 'Italiano', 'ativo': False}
]

Com essas correções, seu código deve funcionar conforme esperado e exibir os nomes dos restaurantes corretamente.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.