1
resposta

Não entendi o que ela falou no começo tem a ver com funções.

No começo da aula ela falou: "Nós colocamos vários prints dentro dos nossos condicionais, mas o ideal seria que tivéssemos vários blocos de execução, vários códigos que estamos implementando de acordo com cada opção escolhida. No entanto, se cadastrarmos um restaurante com 50 linhas de código e cada uma teria mais 50 linhas de código, ficando muito poluído e com muita informação. Então, como resolvemos isso?"

Como assim cadastrar restaurante com 50 linhas de código? Pq 50 linhas de código em "cadastrar restaurante"? E o que isso tem a ver com fazer uma função só pra opção 4, que é "encerrar o programa"?

Ficou confuso, alguém me ajuda?

1 resposta

Oi, Amanda! Tudo bem?

O intuito da fala é nos mostrar que, ao escrevermos um programa, muitas vezes acabamos com blocos de código muito grandes e repetitivos, o que torna o código difícil de ler e manter.

Usamos, então, o exemplo de "cadastrar um restaurante" para ilustrar um cenário hipotético onde poderíamos ter muitas linhas de código para executar tarefas repetitivas. Porém podemos "isolar" um bloco de código que realiza uma tarefa específica, podendo reutilizá-lo, através da criação de uma função. Ou seja, se tivermos linhas de código que se repetem com muita frequência, podemos criar uma função que execute essa tarefa e ao invés de repetir aquele código inúmeras vezes, apenas chamamos a função criada e ela executará aquela funcionalidade. Dessa forma, não precisamos escrever novamente as mesmas linhas de código.

Imagine que temos um menu onde o usuário pode escolher várias opções, como cadastrar um restaurante, listar restaurantes, editar um restaurante, etc. Cada uma dessas opções pode ter muitas linhas de código. Se colocarmos todo esse código diretamente dentro das condicionais (if, elif, else), o nosso programa pode ficar muito "poluído" e difícil de entender.

Para resolver isso, porém, podemos usar as funções. Por exemplo, em vez de ter várias linhas de código dentro de uma condicional para cadastrar um restaurante, podemos criar uma função chamada cadastrar_restaurante() e simplesmente chamá-la dentro da condicional, como ilustra o exemplo:

def cadastrar_restaurante():
    # Código para cadastrar o restaurante
    pass

opcao = int(input("Escolha uma opção: "))
if opcao == 1:
    cadastrar_restaurante()
elif opcao == 2:
    listar_restaurantes()
elif opcao == 3:
    editar_restaurante()
elif opcao == 4:
    finalizar_app()

No caso da função finalizar_app(), a ideia é a mesma. Mesmo que ela só tenha uma linha de código agora, encapsular esse comportamento em uma função torna o código mais organizado e fácil de expandir no futuro.

Espero ter ajudado!

Um forte abraço e bons estudos!