1
resposta

codigo não vai

ola, listei o codigo abaixo e a linha não aparece

import os

import os

restaurantes = [{'nome':'Praça', 'categoria':'Japonesa', 'ativo':False}, {'nome':'Pizza suprema', 'categoria':'Italiana', 'ativo': True}, {'nome':'Sabor mineiro', 'categoria':'Comida mineira', 'ativo': False}]

def exibir_nome_do_programa(): print(""" ░██████╗░█████╗░██████╗░░█████╗░██████╗░  ███████╗██╗░░██╗██████╗░██████╗░███████╗░██████╗░██████╗ ██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗  ██╔════╝╚██╗██╔╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝ ╚█████╗░███████║██████╦╝██║░░██║██████╔╝  █████╗░░░╚███╔╝░██████╔╝██████╔╝█████╗░░╚█████╗░╚█████╗░ ░╚═══██╗██╔══██║██╔══██╗██║░░██║██╔══██╗  ██╔══╝░░░██╔██╗░██╔═══╝░██╔══██╗██╔══╝░░░╚═══██╗░╚═══██╗ ██████╔╝██║░░██║██████╦╝╚█████╔╝██║░░██║  ███████╗██╔╝╚██╗██║░░░░░██║░░██║███████╗██████╔╝██████╔╝ ╚═════╝░╚═╝░░╚═╝╚═════╝░░╚════╝░╚═╝░░╚═╝  ╚══════╝╚═╝░░╚═╝╚═╝░░░░░╚═╝░░╚═╝╚══════╝╚═════╝░╚═════╝░""")

print('Sabor Express\n')

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

def finalizar_app(): exibir_subtitulo('Finalizar app')

def voltar_ao_menu_principal(): input('\nDigite uma tecla para voltar ao menu principal') main()

def opcao_invalida(): print('Opção inválida!\n') voltar_ao_menu_principal()

def exibir_subtitulo(texto): linha = '' * (len(texto) + 4) print(linha) print(f' {texto} *') print(linha) print()

def cadastrar_novo_restaurante(): os.system('cls') exibir_subtitulo('Cadastro de novos restaurantes') nome_do_restaurante = input('Digite o nome do restaurante que deseja cadastrar: ') categoria = input(f'Digite o nome da categoria do restaurante {nome_do_restaurante}: ') dados_do_restaurante = {'nome': nome_do_restaurante, 'categoria': categoria, 'ativo': False} restaurantes.append(dados_do_restaurante) print(f'O restaurante {nome_do_restaurante} foi cadastrado com sucesso!') voltar_ao_menu_principal()

def listar_restaurantes(): os.system('cls') exibir_subtitulo('Listando restaurantes')

print(f'{"Nome do restaurante".ljust(20)} | {"Categoria".ljust(20)} | Status')
for restaurante in restaurantes:
    nome_restaurante = restaurante['nome']
    categoria = restaurante['categoria']
    ativo = 'ativado' if restaurante['ativo'] else 'desativado'
    print(f'- {nome_restaurante.ljust(20)} | {categoria.ljust(20)} | {ativo}')

voltar_ao_menu_principal()

def alternar_estado_restaurante(): os.system('cls') 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 {nome_restaurante} foi desativado com sucesso'
        print(mensagem)
        break

if not restaurante_encontrado:
    print(f'Restaurante {nome_restaurante} não encontrado.')

voltar_ao_menu_principal()

def escolher_opcao(): try: opcao_escolhida = int(input('Escolha uma opção: '))

    if opcao_escolhida == 1:
        cadastrar_novo_restaurante()
    elif opcao_escolhida == 2:
        listar_restaurantes()
    elif opcao_escolhida == 3:
        alternar_estado_restaurante()
    elif opcao_escolhida == 4:
        finalizar_app()
    else:
        opcao_invalida()
except ValueError:
    print('Entrada inválida! Por favor, digite um número.')
    escolher_opcao()

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

if name == 'main': main() quando executo, a tabela que deveria sair as informações conforme o codigo pede, aparece assim:


Listando restaurantes


Praça | Japonesa | 2desativado Pizza suprema | Italiana | 2ativado Sabor mineiro | Comida mineira | 2desativado

sendo que o correto é:


Listando restaurantes


nome do restaurante categoria status

  • Praça | Japonesa | desativado
  • Pizza suprema | Italiana | ativado
  • Sabor mineiro | Comida mineira | desativado
1 resposta

O problema que você está enfrentando provavelmente está relacionado com a formatação da impressão dos dados dos restaurantes. Vamos revisar o código e corrigir os problemas de formatação:

  • A linha de separação (linha) deve ser composta por caracteres de linha reta (-) para que seja visível.
  • O loop que imprime as informações dos restaurantes deve usar a formatação correta para alinhas as colunas. Aqui está a versão corrigida do seu código:
import os

restaurantes = [{'nome':'Praça', 'categoria':'Japonesa', 'ativo':False},
                {'nome':'Pizza suprema', 'categoria':'Italiana', 'ativo': True},
                {'nome':'Sabor mineiro', 'categoria':'Comida mineira', 'ativo': False}]

def exibir_nome_do_programa():
    print("""
░██████╗░█████╗░██████╗░░█████╗░██████╗░  ███████╗██╗░░██╗██████╗░██████╗░███████╗░██████╗░██████╗
██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗  ██╔════╝╚██╗██╔╝██╔══██╗██╔══██╗██╔════╝██╔════╝██╔════╝
╚█████╗░███████║██████╦╝██║░░██║██████╔╝  █████╗░░░╚███╔╝░██████╔╝██████╔╝█████╗░░╚█████╗░╚█████╗░
░╚═══██╗██╔══██║██╔══██╗██║░░██║██╔══██╗  ██╔══╝░░░██╔██╗░██╔═══╝░██╔══██╗██╔══╝░░░╚═══██╗░╚═══██╗
██████╔╝██║░░██║██████╦╝╚█████╔╝██║░░██║  ███████╗██╔╝╚██╗██║░░░░░██║░░██║███████╗██████╔╝██████╔╝
╚═════╝░╚═╝░░╚═╝╚═════╝░░╚════╝░╚═╝░░╚═╝  ╚══════╝╚═╝░░╚═╝╚═╝░░░░░╚═╝░░╚═╝╚══════╝╚═════╝░╚═════╝░
""")

print('Sabor Express\n')

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

def finalizar_app():
    exibir_subtitulo('Finalizar app')

def voltar_ao_menu_principal():
    input('\nDigite uma tecla para voltar ao menu principal')
    main()

def opcao_invalida():
    print('Opção inválida!\n')
    voltar_ao_menu_principal()

def exibir_subtitulo(texto):
    linha = '-' * (len(texto) + 4)
    print(linha)
    print(f'- {texto} -')
    print(linha)
    print()

def cadastrar_novo_restaurante():
    os.system('cls' if os.name == 'nt' else 'clear')
    exibir_subtitulo('Cadastro de novos restaurantes')
    nome_do_restaurante = input('Digite o nome do restaurante que deseja cadastrar: ')
    categoria = input(f'Digite o nome da categoria do restaurante {nome_do_restaurante}: ')
    dados_do_restaurante = {'nome': nome_do_restaurante, 'categoria': categoria, 'ativo': False}
    restaurantes.append(dados_do_restaurante)
    print(f'O restaurante {nome_do_restaurante} foi cadastrado com sucesso!')
    voltar_ao_menu_principal()

def listar_restaurantes():
    os.system('cls' if os.name == 'nt' else 'clear')
    exibir_subtitulo('Listando restaurantes')
    
    print(f'{"Nome do restaurante".ljust(20)} | {"Categoria".ljust(20)} | Status')
    print('-' * 60)
    for restaurante in restaurantes:
        nome_restaurante = restaurante['nome']
        categoria = restaurante['categoria']
        ativo = 'ativado' if restaurante['ativo'] else 'desativado'
        print(f'{nome_restaurante.ljust(20)} | {categoria.ljust(20)} | {ativo}')

    voltar_ao_menu_principal()

def alternar_estado_restaurante():
    os.system('cls' if os.name == 'nt' else 'clear')
    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 {nome_restaurante} foi desativado com sucesso'
            print(mensagem)
            break

    if not restaurante_encontrado:
        print(f'Restaurante {nome_restaurante} não encontrado.')

    voltar_ao_menu_principal()

def escolher_opcao():
    try:
        opcao_escolhida = int(input('Escolha uma opção: '))

        if opcao_escolhida == 1:
            cadastrar_novo_restaurante()
        elif opcao_escolhida == 2:
            listar_restaurantes()
        elif opcao_escolhida == 3:
            alternar_estado_restaurante()
        elif opcao_escolhida == 4:
            finalizar_app()
        else:
            opcao_invalida()
    except ValueError:
        print('Entrada inválida! Por favor, digite um número.')
        escolher_opcao()

def main():
    os.system('cls' if os.name == 'nt' else 'clear')
    exibir_nome_do_programa()
    exibir_opcoes()
    escolher_opcao()

if __name__ == '__main__':
    main()

Isso deve resolver o problema de formatação que você estava enfrentando.