2
respostas

[Dúvida] Não estou conseguindo entender o def (python)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade
Olá tudo bom! Já tentei corrigir várias vezes o def mas sempre está dando erro e não consigo identificar o erro.

2 respostas

Olá Raissa.
Tudo bem?
Em python temos que ficar atentos a identação.
No seu caso o método def exibir_opcoes() tem um espaço a mais antes do def.
Corrigindo isso já resolve o problema.
Segue abaixo algumas extensões para ajudar com erros de identação.
Extensões recomendadas para VS Code
Python (Microsoft)
Essencial. Inclui suporte a formatação, linting e correção de identação.
Python Extension for VS Code

Black Formatter
O formatter mais confiável para Python. Corrige identação automaticamente e mantém padrão consistente.
Black Formatter Extension

autopep8
Mais “leve” e menos agressivo que Black. Bom se você não quer tantas mudanças automáticas.
autopep8 Extension

Indent Rainbow
Colora os níveis de identação. Excelente para enxergar blocos errados rapidamente.
Indent Rainbow

EditorConfig
Mantém tabs/espaços consistentes entre projetos e equipes.
EditorConfig for VS Code

Testa ai e me envia um feedback.
Bons estudos.

E analisando ainda tem um outro erro de identação no método escolher_opcao(): em opcao_escolhida faltando espaços antes da variavel.
Na verdade basicamente há varios erros de identação(espaços) no seu codigo que precisam ser corrigidos.
Corrige ai e avisa alguma duvida.
Segue um exemplo de como deve ficar:

import os


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


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


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

    if opcao_escolhida == 1:
        print('Cadastrar restaurante')

    elif opcao_escolhida == 2:
        print('Listar restaurantes')

    elif opcao_escolhida == 3:
        print('Ativar restaurantes')

    else:
        finalizar_app()


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


def main():
    exibir_nome_do_programa()
    exibir_opcoes()
    escolher_opcao()


if __name__ == '__main__':
    main()

Bons estudos.