Così come possiamo avere condizioni annidate con diversi if e else annidati, possiamo anche avere cicli for e while annidati.
Possiamo iterare sul tempo in un giorno iterando su ore, minuti e secondi:
for h in range(24):
for m in range(60):
for s in range(60):
print(f'Time: {h}:{m}:{s}')
L'output del programma sarà tutti i possibili timestamp del giorno come mostrato a destra.
Il ciclo for inizia con h = 0, poi usa m = 0, quindi itera su tutti i secondi da 0 a 60, e stampa l'orario.
Poi, il programma imposta m = 1 e itera su tutti i secondi. Quindi imposta m = 2, e ripete questo processo fino a raggiungere m = 59. A questo punto, il programma termina il secondo ciclo e h diventa 1. Quindi, l'intero processo di iterazione su minuti e secondi per h = 1 si ripete di nuovo. h diventa poi 2, poi 3, e il ciclo continua fino a quando h raggiunge 23, m raggiunge 59 e s raggiunge 59. Ciò ferma tutti e 3 i cicli insieme.
Per ogni linea i, stampiamo con un ciclo interno di j in range(i + 1). Il simbolo è determinato in base alla posizione.
Sfida
Ispirato dai giochi 2D, vorresti sperimentare stampando alcune forme. Vuoi stampare un triangolo di altezza n e larghezza n, dove per ogni posizione, il simbolo stampato sarà e se la somma della sua riga e colonna è pari e o se la somma è dispari.
Nota che le righe e le colonne iniziano a contare da 1.
Input
Output
10
e
oe
eoe
oeoe
eoeoe
oeoeoe
eoeoeoe
oeoeoeoe
eoeoeoeoe
oeoeoeoeoe