Ordem das funçõe:
Boa tarde. Em primeiro lugar, colocarei aqui o código que esta sendo desenvolvido na aula:
import os
def nome_rest():
print(f'Programa do luquitas\n')
def lista_opcoes():
print(f'1 - Cadastrar Restaurante')
print(f'2 - Listar Restaurante')
print(f'3 - Ativar restaurante')
print(f'4 - Sair\n')
def finalizar_app():
os.system('cls')
print('Tenha um bom dia e volte sempre!!')
def opcao_invalida():
print('Opção inválida\n')
input('Digite qualquer tecla para voltar ao menu principal: ')
main()
def escolher_opcoes():
try:
escolher_opcao = int(input('Escolha uma das opções acima: '))
if escolher_opcao == 1:
cadastro = input('Digite o nome do seu restaurante: ')
print(f'O restaurante {cadastro} foi cadastrado com sucesso!!')
elif escolher_opcao == 2:
listar = input('Liste aqui seu restaurante: ')
print(f'O restaurante {listar} foi listado com sucesso!!')
elif escolher_opcao == 3:
print('Restaurante ativado com sucesso')
elif escolher_opcao == 4:
finalizar_app()
else:
opcao_invalida()
except:
opcao_invalida()
def main():
os.system('cls')
nome_rest()
lista_opcoes()
escolher_opcoes()
if __name__ == '__main__':
main()
Durante a aula surgiu uma dúvida a respeito das funções. Percebi que durante a construção do programa, utilizou-se a função main () dentro da função opção_invalida(). Porém a função main é definida somente no final do código. Gostaria de entender porque mesmo assim funciona. No meu entendimento, quando escrevemos um script, era para o interpretador ler linha a linha, certo??? Como ele entende uma função no começo do script que foi definida somente no final??