2
respostas

[Dúvida] Não consigo executar a opçaõ listar restaunrates

Estou fazendo o codigo igual o da aula, porem quando eu executo, o programa não lista os restaurantes, mas sim aparece a mensagem 'opção invalida, clique em qualuqer botão para voltar ao menu princiapal', como se eu tivesse clicado em um numero invalido na hora de escolher as opções do menu. O que estou fazendo de errado? abaixo está todo o meu codigo

import os 

restaurantes = ['pizza', 'sushi'] 

def nome_do_programa():
    print('Sabor Express\n')
 #Vamos criar um menu para cadastrar restaurantes nesse app parecido com ifood

def opcoes_do_programa():
    print('1. Cadastrar Resteurante')
    print('2. Listar resteurante')
    print('3. Ativar Resteurante')
    print('4. Sair\n ')

def cadastrar_novo_restaurante():
    os.system('cls')
    print('Cadastro de novos restaurantes\n')
    nome_restaurante = input('Digite o nome do seu restaurante: ')
    restaurantes.append(nome_restaurante)
    print('O restaurante {} foi cadastrado com sucesso' .format(nome_restaurante))
    input('Digite uma tecla para voltar ao menu principal')
    main()

def opcao_invalida():
    print('Opção Invalida')
    input('Aperte em qualquer tecla para voltar ao inicio\n')
    main()

def finalizar_app():
    os.system('cls') #essa biblioteca com essa funcão limpa o terminal, então quando a opção 4 for a escolhida, ele vai mostar a mensagem com o terminal limpo 
    print('ENCERRANDO...\n')

def listar_restaurantes():
    os.system('cls')
    print('Listando os restaurantes\n') 
    for restaurante in restaurantes:
            print(restaurante)
    input('Digite uma tecla para voltar ao menu principal')
    main()


def escolher_opcao():
    try:
        opcao_escolhida = int(input('Escolha uma das opções acima:'))
        if opcao_escolhida == 1:
            cadastrar_novo_restaurante()
        elif opcao_escolhida == 2:
            listar_restaurantes()
        elif opcao_escolhida == 3:
            print('Ativar Restaurante')

        elif opcao_escolhida == 4:
            finalizar_app()

        else:
            opcao_invalida()
    except:
            opcao_invalida()

def main():
    os.system('cls')
    nome_do_programa()
    opcoes_do_programa()
    escolher_opcao()
    

if __name__ == '__main__':
    main()
2 respostas

o meu tbm!

Achei o erro! Vai na função de ( listar_restaurantes()) e tenta reescrever o codigo todo dnv com o max de atenção! provavelmente e algum ''caracteres oculto'' ou um ''tab'' ou ''codigo escrito em ''alguma linha (a/ou) mais/errada'' depois, diz-me se funcionou!