Así como podemos tener condiciones anidadas con varias sentencias if y else anidadas, también podemos tener bucles for y while anidados.
Podemos iterar sobre el tiempo en un día iterando sobre horas, minutos y segundos:
for h in range(24):
for m in range(60):
for s in range(60):
print(f'Time: {h}:{m}:{s}')
La salida del programa será todas las posibles marcaciones de tiempo del día, como se demuestra a la derecha.
El bucle for comienza con h = 0, luego utiliza m = 0, luego itera sobre todos los segundos de 0 a 60 y muestra la hora.
Después, el programa establece m = 1 e itera sobre todos los segundos. Luego establece m = 2 y repite este proceso hasta alcanzar m = 59. En este punto, el programa termina el segundo bucle y h se convierte en 1. Entonces, todo el proceso de iterar sobre minutos y segundos para h = 1 se repite nuevamente. Luego h se convierte en 2, luego 3, y el ciclo continúa hasta que h alcanza 23, m alcanza 59 y s alcanza 59. Eso detiene los 3 bucles juntos.
Para cada línea i, imprimimos con un bucle interno de j in range(i + 1). El símbolo se determina según la posición.
Desafío
Inspirado por juegos en 2D, te gustaría experimentar imprimiendo algunas formas. Quieres imprimir un triángulo de altura n y anchura n, donde para cada posición, el símbolo impreso será e si la suma de su fila y columna es par y o si la suma es impar.
Ten en cuenta que las filas y columnas comienzan a contar desde 1.
Entrada
Salida
10
e
oe
eoe
oeoe
eoeoe
oeoeoe
eoeoeoe
oeoeoeoe
eoeoeoeoe
oeoeoeoeoe