Cargando...

Valor de retorno

return saca un valor de la función. cups_left recibe started y drank, y devuelve started - drank. Por eso cups_left(3, 1) es el número 2.

print está fuera de la función y escribe lo que salió. cups_left no tiene un print propio.

sale 2

python
def cups_left(started, drank):
    return started - drank

print(cups_left(3, 1))

La pantalla muestra 2. Lo escribió print, no cups_left. Con otros números sale esa resta. cups_left(3, 3) es 0, porque 3 - 3 es 0.

Una línea bajo return sigue con sangría y pertenece a la función. Aun así no corre. return sale de la función al momento, y Python nunca llega a esa línea.

la línea bajo return no corre

python
def cups_left(started, drank):
    return started - drank
    print("done")

print(cups_left(3, 1))

La pantalla muestra 2. done no se escribe. print("done") tiene sangría bajo def, pero return ya salió de la función.

Sin return no sale ningún valor, y el resultado es None. None quiere decir que no hay valor. greet escribe el nombre y no tiene return. La palabra lida en pantalla viene de ese print de dentro. El resultado de greet("lida") en sí es None.

el print de dentro no es el resultado

python
def greet(name):
    print(name)

print(greet("lida"))

La pantalla muestra lida y después None. greet escribió lida. El print de fuera escribió el resultado. Ese resultado es None, porque greet no tiene return.

Tres usos, y lo que sale de cada uno. En la fila de greet el resultado es None, aunque la pantalla también muestre lida. Ese lida es el print de dentro, no el resultado.

📊 Lo que sale

Uso Resultado
cups_left(3, 1) 2
cups_left(3, 3) 0
greet("lida") sin return None

La página siguiente dice hasta dónde vale un nombre. Aquí solo vemos el valor que sale.

Antes de responder

  1. ¿Qué escribe print(cups_left(3, 1))?
  2. ¿Qué es cups_left(3, 3)?
  3. print("done") está bajo return. ¿Se escribe done?
  4. greet solo escribe el nombre. ¿Qué dos líneas escribe print(greet("lida"))?

El valor que sale

return started - drank hace que el resultado sea ese número. print(cups_left(3, 1)) escribe 2, y cups_left(3, 3) es 0. Una línea bajo return no corre, así que done no aparece. Sin return, print(greet("lida")) escribe lida y luego None.

🧠 Pon a Prueba tu Conocimiento

Listo para Empezar

Pon a Prueba tu Conocimiento

Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema

❓
5
Preguntas
🎯
70%
Para Aprobar
♾️
∞
Tiempo
🔄
∞
Intentos

📝 Instrucciones

  • Lee cada pregunta cuidadosamente
  • Selecciona la mejor respuesta para cada pregunta
  • Puedes repetir el quiz tantas veces como quieras
  • Tu progreso se mostrará en la parte superior