Ir para o conteúdo

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.

main.py
Terminal

Execute seu programa para ver a saída.

Resultado esperado

Bem-vindo, Alex!
Pontos: 0
Pontos: 10

Minidesafio

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çã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.