Entregar valores de uno en uno
Tienes tres nombres de estación y los quieres de uno en uno. La primera línea en la pantalla será north. La siguiente línea será east. La última línea será south.
def stations():
yield "north"
yield "east"
yield "south"
route = stations()
print(next(route))
print(next(route))
print(next(route))
La pantalla muestra tres líneas. El primer print escribe north y nada más. La línea yield "north" entrega ese nombre a este print. east se escribe solo cuando el segundo print lo pide. El segundo print escribe east. El tercer print escribe south. Un print no pone los tres nombres en una sola línea. El programa termina ahí. No hay una cuarta línea. None no se escribe en esta pantalla.
📊 Qué print escribe qué línea
| Qué print | La línea en la pantalla |
|---|---|
| primer print(next(route)) | north |
| segundo print(next(route)) | east |
| tercer print(next(route)) | south |
Después de south, stations ya no tiene ningún yield. Un cuarto print(next(route)) no está en este programa. Si añades esa línea, se detiene como StopIteration, porque no hay un nombre siguiente. None no se escribe. La pantalla que tienes sigue siendo north, luego east, luego south.
Ahora puedes pedir un nombre de estación, luego el siguiente y luego el último. La pantalla muestra north, luego east, luego south. La página siguiente pone una envoltura alrededor de una función.
Un nombre y luego el siguiente
El primer print escribe north. El segundo print escribe east. El tercer print escribe south. La pantalla muestra tres líneas: north, luego east, luego south. La página siguiente pone una envoltura alrededor de una función.
🧠 Pon a Prueba tu Conocimiento
Pon a Prueba tu Conocimiento
Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema
📝 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