Tout comme nous pouvons avoir des conditions imbriquées avec plusieurs instructions if et else imbriquées, nous pouvons également avoir des boucles for et while imbriquées.
Nous pouvons parcourir le temps d'une journée en itérant sur les heures, les minutes et les secondes :
for h in range(24):
for m in range(60):
for s in range(60):
print(f'Time: {h}:{m}:{s}')
La sortie du programme sera tous les horodatages possibles de la journée, comme démontré à droite.
La boucle for commence avec h = 0, puis utilise m = 0, puis itère sur toutes les secondes de 0 à 60, et affiche l'heure.
Ensuite, le programme définit m = 1 et itère sur toutes les secondes. Puis il définit m = 2, et répète ce processus jusqu'à atteindre m = 59. À ce point, le programme termine la deuxième boucle et h devient 1. Ensuite, tout le processus d'itération sur les minutes et les secondes pour h = 1 se répète à nouveau. h devient alors 2, puis 3, et le cycle continue jusqu'à ce que h atteigne 23, m atteigne 59 et s atteigne 59. Cela arrête les trois boucles ensemble.
Pour chaque ligne i, nous imprimons avec une boucle interne j in range(i + 1). Le symbole est déterminé en fonction de la position.
Défi
Inspiré par les jeux en 2D, vous aimeriez expérimenter en imprimant des formes. Vous voulez imprimer un triangle de hauteur n et de largeur n, où pour chaque position, le symbole imprimé sera e si la somme de sa ligne et de sa colonne est paire et o si la somme est impaire.
Notez que les lignes et les colonnes commencent à compter à partir de 1.
Entrée
Sortie
10
e
oe
eoe
oeoe
eoeoe
oeoeoe
eoeoeoe
oeoeoeoe
eoeoeoeoe
oeoeoeoeoe