Cicli annidati

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.
Time: 0:0:0
Time: 0:0:1
Time: 0:0:2
Time: 0:0:3
Time: 0:0:4
Time: 0:0:5
Time: 0:0:6
Time: 0:0:7
...
Time: 0:9:20
Time: 0:9:21
Time: 0:9:22
Time: 0:9:23
Time: 0:9:24
...
Time: 23:59:54
Time: 23:59:55
Time: 23:59:56
Time: 23:59:57
Time: 23:59:58
Time: 23:59:59
Un campo di gioco visivo interattivo che mostra come funzionerebbe il codice sopra se lo eseguissimo. Clicca su "next" per vedere come Python eseguirebbe il programma linea per linea. Per semplicità, supponiamo che ci siano 10 minuti e 10 secondi invece di 60.
Possiamo anche stampare oggetti più dettagliati sullo schermo con cicli annidati:
for i in range(10):
    for j in range(i + 1):
        if j % 2 == 0:
            print('*', end='')
        else:
            print('#', end='')
    print()
*
*#
*#*
*#*#
*#*#*
*#*#*#
*#*#*#*
*#*#*#*#
*#*#*#*#*
*#*#*#*#*#
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
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue