Na função abaixo: consegui fazer funcionar ao corrigir o nome de lista, dentro do bloco for, de: restaurantes['nome'] para: restaurante['nome]. No singular.
Deu certo mas eu não entendi o por quê, visto que a lista em que estão sendo salvos é a restaurantes (a criada fora da função no começo do programa).
Alguém consegue me dar uma esclarecida?
def alternar_estado_restaurante():
exibir_subtitulo('Alterando estado do restaurante')
nome_restaurante = input('Digite o nome do restaurante que deseja alternar o estado: ')
restaurante_encontrado = False
for restaurante in restaurantes:
if nome_restaurante == restaurante['nome']:
restaurante_encontrado = True
restaurante['ativo'] = not restaurante['ativo']
mensagem = f'O restaurante {nome_restaurante} foi ativado com sucesso' if restaurante['ativo'] else f'O restaurante foi desativado com sucesso'
print(mensagem)
if not restaurante_encontrado:
print('O restaurante não foi encontrado')
voltar_ao_menu_principal()