Afficher des motifs de nombres, d'étoiles et d'alphabets en pyramide, rectangle ou en triangle…
Dans le langage Python, on peut créer des motifs facilement. Nous allons voir comme faire des programmes Python tout en utilisant les boucle for et while, plus la fonction range() pour afficher des motifs différents.
Objectif
En affichant différents modèles, nous pouvons acquérir une compréhension solide des boucles en Python. Après avoir lu cet article, vous aller être capable de créer différents types de motifs.
Les modèles abordés dans cet article sont :
Motif étoile (*) ou astérisque
Motif demi-pyramide gauche avec les étoiles par une fonction
Modèle de nombre
Modèle de numéro inversé
Motif carré
Motif triangulaire pyramidal
Modèle demi-pyramide
Motif de caractères ou d’alphabets
La démarche à suivre :
Il y a 5 étapes à parcourir pour imprimer le motif en Python
1
Fixer le nombre de lignes et de colonnes
Il existe une structure typique pour imprimer n’importe quel motif, c’est de fixer tout d’abord le nombre de lignes et de colonnes (voir la figure ci-dessous).
Pour ce faire, nous devons utiliser deux boucles pour imprimer n’importe quel motif, c’est-à-dire utiliser des boucles imbriquées (visitez la page pour plus d’explications).
La boucle externe nous indique le nombre de lignes,
et la boucle interne nous indique la colonne nécessaire pour imprimer le motif.
2
Itérer les lignes
Ensuite, écrivez une boucle externe pour itérer le nombre de lignes à l’aide d’une boucle for et de la fonction range().
Pour ce faire, nous devons utiliser deux boucles pour imprimer n’importe quel motif, c’est-à-dire utiliser des boucles imbriquées (visitez la page pour plus d’explications).
3
Itérer les colonnes
Ensuite, écrivez la boucle interne ou la boucle imbriquée pour gérer le nombre de colonnes. L’itération de la boucle interne dépend des valeurs de la boucle externe.
devons utiliser deux boucles pour imprimer n’importe quel motif, c’est-à-dire utiliser des boucles imbriquées (visitez la page pour plus d’explications).
4
Imprimer étoile ou numéro
Utilisez la fonction print() dans chaque itération de for boucle imbriquée pour afficher le symbole ou le numéro d’un motif (comme une étoile (astérisque *) ou un nombre).
5
Ajouter une nouvelle ligne après chaque itération de la boucle externe
Ajoutez une nouvelle ligne à l’aide de la fonction print() après chaque itération de la boucle externe afin que le motif s’affiche correctement
Exemples de code:
Motif étoile (*) ou astérisque
n_rows = 7
# boucle externe
for i in range(n_rows):
# boucle interne
for j in range(i):
# afficher étoile
print(« * », end=‘ ‘)
# nouvelle ligne
print(‘ ‘)
La sortie de ce code :
Motif demi-pyramide gauche avec les étoiles par une fonction
Programme pour tracer le motif demi-pyramide gauche avec les étoiles
# demi-pyramide gauche
def left_half_pyramid(x):
k = 2 * x – 2
for i in range(0, x):
for j in range(0, k):
print(end= » « )
k = k – 2
for j in range(0, i + 1):
print(« * « , end=« »)
print()
left_half_pyramid(6)
La sortie de ce code :
Motif de nombres
Avec l’utilisation de deux boucles for imbriquées plus la fonction range() aussi.
n_rows = 7
for i in range(n_rows):
# boucle imbriquée
for j in range(i):
# afficher la valeur de i
print(i, end=‘ ‘)
# new line after each row
print(‘ ‘)
La sortie de ce code :
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
6 6 6 6 6 6
Modèle de numéro inversé : Modèle de pyramide inversée de nombres
Une pyramide inversée est un modèle descendant où les nombres sont réduits à chaque itération, et sur la dernière ligne, il ne montre qu’un seul nombre. Utilisez la boucle inverse pour imprimer ce motif.
Exemple:
print(« Modèle de numéro inversé : »)
rows = 7
a = 0
# reverse for loop from 7 to 0
for i in range(rows, 0, –1):
a += 1
for j in range(1, i + 1):
print(a, end=‘ ‘)
print(‘\r’)
La sortie de ce code :
Modèle de numéro inversé :
1 1 1 1 1 1 1
2 2 2 2 2 2
3 3 3 3 3
4 4 4 4
5 5 5
6 6
7
Motif carré : le programme
Exemple:
print(‘\r’)# ==== motif carré en chiffres ======
n_rows=8
for i in range(n_rows):
for j in range(n_rows):
print(j, end=‘ ‘)
print( »)
La sortie de ce code :
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7
Motif triangulaire de caractères demi-pyramide
Voici un programme de motifs avec des caractères en python, en utilisant une fonction.
Exemple:
print(« ==== motif en triangle de caractères ====== »)
def motif_letters(x):
n=64
for c in range(x):
for j in range(c):
print(chr(n), end= » « )
n+=1
print()
motif_letters(11)
La sortie de ce code :
Motif de caractères triangulaire centrées
Programme de motif de caractères triangulaire centrées ( ou en pyramide) à l’aide d’une fonction.
Exemple:
print(« motif de caractères triangulaire centrées »)
def motif_car_triangle(m):
x = 65
k = 2 * m – 2
for i in range(0, m):
ch = chr(x)
x += 1
for j in range(0, k):
print(end= » « )
k = k – 1
for j in range(0, i + 1):
print(ch, end= » « )
print(« \r »)
motif_car_triangle(7)
Le résultat de ce code :
Exercices
Question 1: donner le programme qui affiche le motif suivant :
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
0 1 2 3 4 5
Question 2 : comment faire pour afficher le résultat suivant ?
0
0 1
0 1 2
0 1 2 3
0 1 2 3 4
0 1 2 3 4 5
Question 3 : donner les programmes qui affichent les motifs suivants: