</> Python: Modo Aventura← Niveles

Se definen con def:

def saludar():
    print("¡Bienvenido a la aventura!")

saludar()   # esto la ejecuta (la «llama»)
saludar()   # puedes llamarla las veces que quieras

Funciones con parámetros (datos de entrada)

Puedes pasarle datos a la función para que trabaje con ellos. Esos datos van entre los paréntesis y se llaman parámetros:

def saludar(nombre):
    print(f"¡Bienvenido, {nombre}!")

saludar("Link")
saludar("Zelda")

Funciones que devuelven un resultado: return

A veces no quieres que la función imprima, sino que te devuelva un valor para usarlo después. Para eso está return:

def calcular_dano(ataque, defensa):
    dano = ataque - defensa
    return dano

resultado = calcular_dano(50, 20)
print(f"Has hecho {resultado} de daño.")

Ejemplo completo

def ataque_completo(nombre, ataque, defensa_enemigo):
    dano = ataque - defensa_enemigo
    print(f"{nombre} ataca y hace {dano} de daño.")
    return dano

dano_total = ataque_completo("Link", 60, 25)

Misiones del nivel

Resuélvelas en VS Code antes de pasar al siguiente nivel.

  1. Crea una función bienvenida() que muestre un mensaje de inicio de partida, y llámala 3 veces.
  2. Crea saludar_jugador(nombre) que reciba un nombre y muestre «¡Hola, [nombre]! ¿Listo para jugar?». Pruébala con dos nombres.
  3. Crea monedas_a_vidas(monedas) que reciba monedas y devuelva con return cuántas vidas extra son (1 cada 100). Llámala con 350 y muestra el resultado.
  4. Crea es_demon(estrellas) que reciba las estrellas de un nivel de GD y devuelva True si son 10 (los Demon dan 10) y False si no. Pruébala con varios valores.
  5. Crea calcular_dano(ataque, defensa) que devuelva el daño, pero si la defensa es mayor que el ataque, que devuelva 0 (no hay daño negativo). Usa un if dentro.