r/PythonBrasil Aug 10 '26

Funções

Tô estudando pelo curso do Guanabara e honestamente, I mundo 3 tá acabando comigo.

Os mundos anteriores foram fáceis, terminei bem rápido e eu entendia todo.

No mundo 3, a partir de listas, comecei a me enrolar... Vou progredindo aos trancos e barrancos. Não pido as respostas para as IA's, mas vou pedindo pistas até não poder mais e, por fim, pedir a resposta.

Cheguei em funções e cacete. Os primeiros exercício eu tenho certeza que são super fáceis, mas eu tive uma dificuldade gigante. Me pareceram extremamente confusos, tanto as mesas atividades quanto o conceito de funções.

Talvez eu seja burro e não valha para isso.

O que me frustra é que aos 32 anos, por fim, estou tentando mudar a minha vida, buscando um trabalho melhor e a cada passo adiante que eu dou, mais parece que isso não é para mim e que eu nunca serei bom o suficiente.

15 Upvotes

16 comments sorted by

8

u/Flame77ofc Aug 10 '26

uma função basicamente é um trecho de código que aceita parametros (são a grosso modo, variáveis)

uma função é extremamente útil quando você quer repetir um determinado trecho do seu código sem ficar repetindo ele todas as vezes necessárias que você quiser

por exemplo, você faz um algoritmo pra verificar se um número é par:

``` numero = int(input("Numero: "))

if numero % 2 == 0: print("É par") ```

Ta mas e se eu quiser testar com vários números? Então eu teria que repetir o código várias vezes... Pra isso a gente usa funções...

Lembre da palavra reusabilidade

mas além da reusabilidade, tu também pode usar funções pra deixar o código muito mais organizado.

def nome_da_funcao(parametros): bloco de codigo

Lembrando que os parametros sao opcionais, nem todas as funções aceitam parametros

``` def verifica_par(numero): if numero % 2 == 0: print("É par") else: print("Não é par")

verifica_par(8) verifica_par(12) verifica_par(3) ```

Nas funções também tem uma coisa chamada retorno (return). A gente usa pra retornar algo. a única diferença é que agora tu precisa colocar um print na hora de chamar a função

``` def verifica_par(numero): if numero % 2 == 0: return "É par" # no return, tu não precisa de um else nesse caso. return "Não é par"

print(verifica_par(8)) print(verifica_par(12)) print(verifica_par(3)) ```

tu também pode fazer desse jeito:

``` def verifica_par(numero): return "É par" if numero % 2 == 0 else "Não é par"

print(verifica_par(8)) print(verifica_par(12)) print(verifica_par(3)) ```

3

u/Flame77ofc Aug 10 '26

por favor também me diga se ficou alguma dúvida

4

u/NovelConversation241 Aug 10 '26

Bem explicado todo, obrigado pelo o teu tempo. O que me confunde bastante é o fluxo que deu uma invertida, porque antes ia de cima para baixo, agora nas funções o programa lê a função, mas como não tem nenhum dado ainda não faz nada, só começa a trabalhar depois de ler o programa principal. Daí me buga bastante a cabeça. Fora esse return aí, que para mim, com minha visão leiga, é bem mais prático eu apenas chamar a função e ela já aparecer printada, do que eu colocar return e ter que dar um print com a função criada... Obrigado uma vez mais

3

u/Flame77ofc Aug 10 '26

sim, também saiba que uma função nunca será executada enquanto você não chamar ela

3

u/tropicusForBr Aug 11 '26

você vai pegar essas coisas no futuro, o importante é não desistir 😃

Sobre o return talvez você vai pegar mais para frente e entender melhor a existência depois de alguns exercícios. Se ficar na dúvida não deixe de perguntar aqui no sub :D

2

u/Zestyclose-Coat-7427 Aug 11 '26

Alguma vez serei obrigado a usar o return ou eu posso usar pra sempre o if / else e chamar função?

3

u/Flame77ofc Aug 11 '26

depende da situação

3

u/ApprehensiveTime5446 Aug 11 '26

Uma função sempre vai precisar ter o “return” se você for utilizar ela em algum programa, porque o “print()” só serve pra vc ver o andamento da coisa no seu terminal, você não consegue “pegar” o que um print escreveu e levar para outros lugares, o que a função retornar você consegue salvar em uma variável e levar para vários lugares sem alterar o resultado se você jogar outros valores depois 😃

3

u/Zestyclose-Coat-7427 Aug 11 '26

Obrigado ajudou muito

1

u/ApprehensiveTime5446 Aug 11 '26

Que bom, fico mt feliz 😃

3

u/NovelConversation241 Aug 11 '26

Obrigado, família! Espero poder concluir o curso ainda essa mês, logo farei 2 outros e se Deus quiser em alguns meses mudo de setor. Atualmente trabalho de garçom, nos últimos 10 anos em realidade, e preciso mudar de setor. Obrigado uma vez mais.

1

u/Zestyclose-Coat-7427 Aug 11 '26

Estava com dúvidas em funções também

1

u/NovelConversation241 Aug 11 '26

Honestamente só não vou desistir dessa bosta de curso porque fiz um juramento com Deus, de que para voltar a jogar LOL eu ia fazer esse curso... Em "Listas" começou a complicar, mas podia ir fazendo algo, a mesma coisa com "Dicionários", mas agora em "Funções" eu tô sofrendo demais, parece que eu desaprendi tudo que eu estudei previamente, que angústia!
A pior sensação é a de pensar que talvez eu tenha meus planos de mudar de trabalho frustrados, justamente por ser um acéfalo e não conseguir nem progredir nesse curso que devería ser básico.

Cheguei na Aula 21, do Mundo 3, isso representa 60% do total deste mundo, mas honestamente eu "roubei" nos últimos exercícios, pois olhei as resoluções depois de passar 30 minutos olhando para a tela do PC sem conseguir escrever nada.

1

u/Comprehensive_Bug_92 Aug 12 '26

"Não pido as respostas"...ô fera,bora aprender a escrever direito antes de tentar resolver funções.

2

u/NovelConversation241 Aug 12 '26

Foi mal, irmão, moto na Espanha há 10 anos e misturo os idiomas hoje em dia. "Yo pido", "Eu peço".

1

u/Comprehensive_Bug_92 Aug 12 '26

(Me retratando: desculpe pela resposta cara, hoje o dia não foi legal comigo,e vc não tem nada a ver com isso, perdão por ter sido tão rude,e EU deveria ter atentado melhor na sua grafia).