Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Os meus restaurantes não aparecem do jeito certo no terminal

import os

restaurantes = ['Roses', 'Betts']

def exibir_nome_do_programa():
    print('SABORES EXPRESS\n')

def exibir_opcoes():
    print('1.Cadastrar restaurante')
    print('2.Listar restaurantes')
    print('3.Ativar restaurante')
    print('4.Sair\n')

def finalizar_app():
    os.system('cls')
    print('Finalizando o app')

def opcao_invalida():
    print('Opção inválida!\n')
    input('Digite a tecla enter para voltar ao menu principal')
    main()

def cadastrar_novo_restaurante():
    os.system('cls')
    print('Cadastro de novos restaurantes\n')
    nome_do_restaurante = input('Digite o nome do restaurante que deseja cadastrar: ')
    restaurantes.append(nome_do_restaurante)
    print(f'O restaurante {nome_do_restaurante} foi cadastrado com sucesso!') 
    input('Digite a tecla enter para voltar ao menu principal!')
    main()

def listar_restaurantes():
    os.system('cls')
    print('Listar Todos os restaurantes\n')

    for restaurante in restaurantes:
        print(f'.{restaurante}')

    input('Digite uma tecla para voltar ao Menu Principal')
    main()

def escolher_opcao():
    try:
        opcao_escolhida = int(input('Escolha uma opção: '))
        # opcao_escolhida = int(opcao_escolhida)
        if opcao_escolhida == 1:
            cadastrar_novo_restaurante()
        elif opcao_escolhida == 2:
            listar_restaurantes()
        elif opcao_escolhida == 3:
            print('Ativar restaurantes')
        elif opcao_escolhida == 4:
            finalizar_app()
        else:
            opcao_invalida()
    except:
        opcao_invalida()

def main():
    os.system('cls')
    exibir_nome_do_programa()
    exibir_opcoes()
    escolher_opcao()

if __name__ == '__main__':
        main()

O terminal aparece assim: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Olá Beatriz. Tudo bem?

Na imagem, os restaurantes aparecem como uma lista única, provavelmente porque a lista está sendo impressa diretamente ao invés de cada restaurante individualmente.

Para corrigir isso, você pode ajustar a função listar_restaurantes() para iterar sobre cada restaurante individualmente. Veja como:

def listar_restaurantes():
    os.system('cls')
    print('Listando os restaurantes\n')

    for restaurante in restaurantes:
        print(f'. {restaurante}')

    input('\nDigite uma tecla para voltar ao Menu Principal')
    main()

Com essa alteração, cada restaurante será exibido em uma linha separada. Tente rodar o código novamente e veja se isso resolve o problema.

Espero ter ajudado.

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