Capítulo 08: Funções 🪓❄️

Neste capítulo, vamos aprender a criar blocos de código reutilizáveis chamados Funções, com o tema God of War!


📖 O que são Funções?

Uma função é um bloco de código que só é executado quando é chamado. Você pode passar dados, conhecidos como parâmetros, para uma função. Uma função pode retornar dados como resultado.

Veja como funciona a nossa função de cálculo de dano:

graph LR
    A["📥 Entradas (Parâmetros): poder_base, furia"] --> B["⚙️ Função: calcular_dano"]
    B --> C["📤 Saída (Retorno): dano_total"]

📖 Exemplo Guiado: Ataque do Kratos

Vamos criar uma função que calcula o dano causado por um ataque do Kratos, baseado no poder base e em um multiplicador de fúria.

  1. Crie o arquivo ataque_kratos.py na pasta src/:
# Definindo a função
def calcular_dano(poder_base, furia):
    dano_total = poder_base * furia
    return dano_total
 
# Chamando a função
dano1 = calcular_dano(50, 1.5)
print("Dano do ataque com fúria leve:", dano1)
 
dano2 = calcular_dano(50, 3.0)
print("Dano do ataque com fúria ESPARTANA!:", dano2)

🕹️ Como Executar e Testar no VS Code

  1. Abra o arquivo ataque_kratos.py.
  2. Clique no botão Run Python File.

Resultado Esperado:

Dano do ataque com fúria leve: 75.0
Dano do ataque com fúria ESPARTANA!: 150.0

🛠️ Prática Obrigatória 1: Barra de Vida

Crie um programa chamado barra_vida.py com uma função que receba a vida atual e a vida máxima de um personagem e retorne uma string representando a barra de vida (ex: “HP: 50/100”).


🛠️ Prática Obrigatória 2: Melhoria de Arma

Crie um programa chamado melhoria_arma.py com uma função que receba o nível atual do Machado Leviatã e retorne o custo em recursos para o próximo nível (Custo = Nível * 100).


🔑 Gabarito de Código

Prática 1: barra_vida.py

def exibir_vida(atual, maxima):
    return f"HP: {atual}/{maxima}"
 
print(exibir_vida(80, 100))
print(exibir_vida(20, 100))

Prática 2: melhoria_arma.py

def calcular_custo(nivel_atual):
    return nivel_atual * 100
 
nivel = int(input("Digite o nível atual do machado: "))
print("Custo para a próxima melhoria:", calcular_custo(nivel), "Hacksilver")

📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)

(Siga o mesmo padrão do Capítulo 01)


Capitulo Anterior | Proximo Capitulo