Semana 6 de 8
Funções
Conforme os programas crescem, os estudantes empacotam código em funções que podem nomear e reutilizar. Eles criam pequenas funções auxiliares (cumprimentar o jogador, mostrar a pontuação) e as chamam sempre que precisam, que é exatamente como o jogo final vai se manter organizado.
- Tempo estimado
- 60 minutos
- Projeto
- Funções auxiliares de jogo
A ideia
Uma função é uma receita reutilizável. Você escreve os passos uma vez depois de def e dá um nome a ela; a partir daí, roda todos esses passos só chamando o nome. Um parâmetro deixa você entregar à função informações diferentes a cada vez, então uma única função cumprimentar consegue receber qualquer jogador. Escrever uma função não a executa; chamá-la sim.
O que você vai aprender
- Definir uma função com def e executá-la chamando o nome dela.
- Passar informação para uma função usando um parâmetro.
- Explicar por que funções evitam que você repita código.
- Consertar uma chamada de função que está sem o argumento.
Palavras novas
- função
- Um bloco de código com nome que você pode rodar várias vezes chamando o nome dele.
- def
- A palavra-chave que cria uma nova função.
- parâmetro
- Uma entrada que a função recebe, listada dentro dos parênteses dela.
- chamar
- Executar uma função escrevendo o nome dela com parênteses, como cumprimentar("Alex").
Projeto: Funções auxiliares de jogo
Edite o código inicial abaixo e clique em Executar para ver funcionar. Use Restaurar código inicial para voltar ao original quando quiser.
Execute seu programa para ver a saída.
Resultado esperado
Bem-vindo, Alex!
Pontos: 0
Pontos: 10Minidesafio
Escreva uma função nova chamada fim_de_jogo() que imprima Obrigado por jogar! e chame-a no fim do programa.
Desafio de depuração
Isto para com um erro sobre um argumento faltando. A função cumprimentar pede um jogador nos parênteses dela. Olhe a última linha: o que a chamada esqueceu de dar a ela?
Código com erro
def cumprimentar(jogador):
print(f"Bem-vindo, {jogador}!")
cumprimentar()Ver soluçãoOcultar solução
Dê um valor à função quando chamá-la:
cumprimentar("Alex")Desafio extra
Escreva uma função proximo_nivel(nivel) que imprima uma linha como Você chegou ao nível 5! usando o número que você passar, e depois chame-a com alguns níveis diferentes.
Reflita
Você escreveu mostrar_pontos uma vez e usou duas. No seu jogo final, o que é algo que você vai fazer mais de uma vez e que poderia virar uma função?
Notas para o professor
Separe duas ideias com clareza: definir uma função não a executa; chamá-la sim. O bug frequente é definir uma função com parâmetro e depois chamá-la com parênteses vazios. Mantenha cada função curta e fazendo um único trabalho, para o ganho (a reutilização) ficar óbvio.
Vai conduzir esta aula? Veja o guia para professores e bibliotecários com o passo a passo, os erros mais comuns e uma atividade de reserva sem computador.
Terminou esta aula? Marque como concluída para desbloquear a próxima semana.