馃З Cap铆tulo 9: Organizar el c贸digo (funciones)
Hasta ahora tu programa funciona… pero tiene un problema:
馃憠 empieza a ser dif铆cil de leer y mantener.
馃憠 Todo est谩 mezclado en un solo bloque.
馃 ¿Qu茅 es una funci贸n?
Una funci贸n es un bloque de c贸digo con un nombre.
馃憠 Sirve para agrupar instrucciones.
馃憠 As铆 puedes reutilizarlas cuando quieras.
1. Crear una funci贸n
As铆 se crea una funci贸n en Python:
tobi.move(10) # acci贸n
¿Qu茅 significa?
- def → define una funci贸n
- mover_adelante → nombre de la funci贸n
2. Usar una funci贸n
Para ejecutarla:
馃憠 Llama a la funci贸n.
3. Aplicarlo al control
Vamos a organizar el c贸digo:
def avanzar():
tobi.move(5)
def retroceder():
tobi.move(-5)
def girar_izquierda():
tobi.turn(-5)
def girar_derecha():
tobi.turn(5)
while True:
if tobi.iskeypressed("w"):
avanzar()
elif tobi.iskeypressed("s"):
retroceder()
elif tobi.iskeypressed("a"):
girar_izquierda()
elif tobi.iskeypressed("d"):
girar_derecha()
tobi.delay(0.05)
馃憠 Ahora el c贸digo es mucho m谩s claro.
4. Funciones con l贸gica
Las funciones tambi茅n pueden incluir m谩s cosas:
tobi.move(5)
tobi.say("Avanzo", 0.5)
馃憠 Una sola llamada ejecuta varias acciones.
5. Ventajas reales
- C贸digo m谩s limpio
- M谩s f谩cil de entender
- M谩s f谩cil de modificar
馃憠 Esto es programar como un profesional.
⚠️ Error t铆pico
tobi.move(5)
❌ Error
馃憠 Falta indentaci贸n
馃 C贸mo piensa Python
Python:
- Guarda la funci贸n
- Espera a que la llames
- Ejecuta su contenido
馃憠 No se ejecuta hasta que la llamas.
馃殌 Reto Abutuber: C贸digo limpio
Organiza tu programa usando funciones:
- Una funci贸n para avanzar
- Una para retroceder
- Una para girar
Extra: a帽ade mensajes dentro de las funciones
Ver soluci贸n
def avanzar():
tobi.move(5)
tobi.say("Avanzo", 0.5)
def retroceder():
tobi.move(-5)
def girar_izquierda():
tobi.turn(-5)
def girar_derecha():
tobi.turn(5)
while True:
if tobi.iskeypressed("w"):
avanzar()
elif tobi.iskeypressed("s"):
retroceder()
elif tobi.iskeypressed("a"):
girar_izquierda()
elif tobi.iskeypressed("d"):
girar_derecha()
tobi.delay(0.05)
馃挕 Consejo Abutuber: Si tu c贸digo crece y no usas funciones… se vuelve imposible de manejar.