Hasta ahora, cuando hemos querido repetir codigo, hemos tenido que usar bucles o copiar y pegar codigo ¿Que tal si te digo que hay una manera de usar codigo o llamarlo y usarlo cuando sea donde sea? Eso es una subrutina Una subrutina le dice al computador que un pedazo del código existe y que vaya directo a ese codigo una y otra vez.
LAs subrutina trabajan como una receta en un libro de cocina. Si tu quieres sabeer como hacer una torta, no tienes que comenzar de cero cada vez. Puedes usar una receta para que tengan la misma calidad cada vez que se haga.
Una subrutia se defina con:
def (que quiere decir definicion)
Tienes que darle a la subrutina un nombre (y asi como a una variabe, no puede tener espacion)

Tienes que añadir un () incluso si no hay argumentos, seguido por dos puntos :. El codigo debe tener sus espaciados.
Lancemos un dado, que nos regresa un numero comprendido por uno de sus 6 lados:
def rollDice():
import random
dice = random.randint(1, 6)
print("You rolled", dice)
¿Por que no pasa nada? En este código, hemos definido como se lanza el dado, pero no esta siendo realmente ‘llamado’ a ejecutar
LLamar a la subrutina es decirle al computador que lo ejecute
Necesitamos ‘llamar’ el codigo añadiendo una linea mas con el nombre de la subrutina y un () vacio.
def rollDice():
import random
dice = random.randint(1, 6)
print("You rolled", dice)
rollDice()
Tienes que asegurarte que cuando llamas a la subrutina NO ESTÉ con espaciado.
NO nos podemos imaginar si añadimos un range() para lanzar el dado 100 veces.
for i in range(100):
rollDice()
👉 Intentalo
¿Por que no funciona este codigo?
def print My Name():
print("My Name is David")
print My Name()
Los nombres de las subrutinas, al igual que lkas variables, no deben tener espaciado (utiliza camelCase o snake_case)
¿Por que no funciona este codigo?
def countToFive:
for i in range(1, 6):
print(i)
countToFive()
Necesitas añadir un () e n la primera linea, incluso si no hay argumento
def countToFive():
for i in range(1, 6):
print(i)
countToFive()
Las llamadas a las subrutinas no deben tener espaciado.
La solucion la encuentras en main.py