returnVayamos mas profundo en las subrutinas. ¿Pueden enviar informacion de vuelta a la parte iunicial del programa?
Hagamops esto con el comando return

El comando return envia informacion de vuelta a la parte del codigo que lo llamó. Eso signofoca que la llamada a la funcion es reemplazada con lo que sea que haya retornado.
Ya lo vimos antes con la importacion de librerias y numeros aleatorios. Podemos usar el numero aleatorio donde sea que lo queramos.
Esta subrutina crea un numero de pin aleatorio para nosotros. Esta subrutina llamada pinPickertiene el parametro llamado number (la cantidad de numeros que yo quiero tener en este pin). Entonces, hay un string (llamada pin) que está vacio y un bucle for que es usado para crear una cantidad definida de numeros aleatorios. La variable number controla cuantas veces el bucle va a añadir un nuevo numero al pin. Esto se logra mediante +=que concatena el valor nuevo.
👉 Probemos a ver que pasa
#subroutine has parameter called `number`
#`number` shows how many numbers we want the pin to have
def pinPicker(number):
import random
pin = "" #this is the empty string
for i in range(number): #for loop shows defined amount of random numbers
pin += str(random.randint(0,9)) #we want a string of random numbers between 0-9
return pin
pinPicker(4) #4 means we want 4 random numbers
¿Nada pasa? ¿Por que?
La linea pinPicker(4) que llama por un pin de 4 digitos está siendo reemplazada por un pin de 4 digitos (genial, pero no vemos que pasa algo)
No estamos diciendo que la computadora no hace nada con el string que fue creado. ¿Como hacemos que el string aparezca?
Con un print() claro está
Asignemos una variable a pinPicker()
myPin = pinPicker(4)
y ahora la imprimimos
print(myPin)
¿Cual es el problema aqui?
def areaOfTriangle(base, height):
area = 0.5 * base * height
return area
areaOfTriangle (5, 22)
No estamos asignando una variable a la funcion para mostrarlo con un print()
def areaOfTriangle(base, height):
area = 0.5 * base * height
return area
areaOfTriangle (5, 22)
print(area)
area fuera de la subrutina}area dentro de la subrutina
```
def areaOfTriangle(base, height):
area = 0.5 * base * height
return areaarea = areaOfTriangle (5, 22) print(area)
```
Ampliemos el proyecto del día 24 y creemos un generador de estadísticas de salud para un personaje de un videojuego.
🥳 ¡Puntos extra si preguntas por el nombre del personaje y doble punto extra si usas diferentes colores!
La solucion la encuentras en main.py