Exercice Corrigé Python pour Débutant – Partie 3

Avec des exercices corrigés en Python, vous pratiquerez divers concepts du langage Python. Vous commencerez par des exercices Python de base à des exercices plus avancés. La solution est fournie pour chaque exercice. Vous devez essayer de résoudre chaque problème par vous-même avant de vérifier la solution. Si vous avez des questions concernant chaque problème, nous vous encourageons à les poster sur notre forum.
 
 

Exercice 1:

Écrire un programme en Python qui affiche la table de multiplication de 3. En utilisant la boucle « for ».

Exemple de sortie:

3 x 0 = 0
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10= 30  
Solution:

# Parcourt les nombres de 1 à 10
for i in range(1, 11):

    # Affiche la table de multiplication de 3
    # i représente le multiplicateur
    # i * 3 calcule le résultat
    print("3 *", i, "=", i * 3)

Explication:

Nous utilisons la boucle for pour afficher la table de multiplication de 3. La boucle s’exécute jusqu’au 11. À chaque itération de la boucle, i * 3 est affiché.

 

Exercice 2:

Écrire un programme Python pour calculer la distance entre deux points.

Remarque: x1, y1, x2, y2 sont tous des valeurs flottants.

Exemple de sortie:

Entrée x1: 10
Entrée y1: 18 

Entrée x2: 40 
Entrée y2: 20 

Distance entre ces points est: 30.0666
# Importe le module math pour utiliser la fonction sqrt()
import math

# Demande les coordonnées du premier point
x1 = int(input("Entrée x1: "))
y1 = int(input("Entrée y1: "))

# Demande les coordonnées du deuxième point
x2 = int(input("Entrée x2: "))
y2 = int(input("Entrée y2: "))

# Calcule la somme des carrés des différences entre
# les coordonnées des deux points
distance = ((x2 - x1) * (x2 - x1)) + ((y2 - y1) * (y2 - y1))

# Calcule la racine carrée de la valeur obtenue
# pour obtenir la distance entre les deux points
print("Distance entre ces points est:", math.sqrt(distance))
 

Exercice 3:

Écrire un programme Python pour convertir les jours spécifiés en années, semaines et jours. Note : Ne pas tenir en compte les années bissextiles.

Exemple de sortie:

Entrez le nombre de jours: 2570
Années: 7
Semaines: 2
Jours: 1
# Définit le nombre total de jours
jours = 2570

# Calcule le nombre d'années complètes
# On considère ici qu'une année contient 365 jours
an = int(jours / 365)

# Calcule le nombre de semaines restantes après avoir retiré
# les années complètes
semaines = int((jours % 365) / 7)

# Calcule le nombre de jours restants après avoir retiré
# les années et les semaines
jours = jours - ((an * 365) + (semaines * 7))

# Affiche le nombre d'années
print("Années:", an)

# Affiche le nombre de semaines restantes
print("Semaines:", semaines)

# Affiche le nombre de jours restants
print("Jours:", jours)
 

Exercice 4:

Écrivez un programme Python qui accepte le nombre total d’heures travaillées au cours d’un mois et le montant que l’employé a reçu par heure. Affichez le salaire (avec deux décimales) de l’employé pour un mois donné.

Exemple de sortie:

Saisir les heures de travail: 7
Montant du salaire/heure: 2000 

Salaire = 14000.00 €
# Demande à l'utilisateur de saisir le nombre d'heures de travail
# et convertit la valeur en nombre décimal
heures = float(input("Saisir les heures de travail: "))

# Demande à l'utilisateur de saisir le salaire par heure
# et convertit la valeur en nombre décimal
sph = float(input("Montant du salaire/heure: "))

# Calcule le salaire total
# Formule : salaire = salaire par heure × nombre d'heures
salaire = sph * heures

# Affiche le salaire total
print("Salaire = ", salaire, "€")
 
 

Exercice 5:

Écrire un programme en Python pour afficher les nombres pairs entre 0 et N, où N est saisi par l’utilisateur.

Exemple de sortie:

Entrer un nombre :  9
Les nombres pairs de 1 à 9 sont: 0  2  4  6  8 
Solution:

# Demande à l'utilisateur de saisir un nombre entier
n = int(input("Entrer un nombre: "))

# Affiche un message indiquant que le programme va afficher
# les nombres pairs compris entre 1 et n
print("Les nombres pairs de 1 à {0} sont:".format(n))

# Parcourt tous les nombres de 0 jusqu'à n
# n + 1 est utilisé car la borne de fin de range() est exclue
for i in range(0, n + 1):

    # Vérifie si le nombre est pair
    # Un nombre est pair si le reste de sa division par 2 = 0
    if i % 2 == 0:

        # Affiche le nombre pair
        print(i)

Explication:

Description pas à pas de la logique permettant d’afficher tous les nombres pairs compris entre 1 et n+1:

  • L’utilisateur doit saisir la limite supérieure des nombres pairs. Stockez-la dans la variable N.
  • Exécutez la boucle « for » à partir de 1, jusqu’à n+1.
  • À l’intérieur du corps de la boucle, vérifiez la condition pair/impair. Si le nombre actuel i est divisible par 2, alors i est pair. Autrement dit, if (i%2 == 0), la valeur de i est affichée.
 
 

Exercice 6:

Ecrivez un programme en Python qui calcule la somme des nombres impairs compris entre 1 et un nombre entier N saisi par l’utilisateur. Exemple N=10 Somme=1+3+5+7+9=25

Exemple de sortie:

Entrer un nombre :  10
La somme des nombres impairs est: 25
Solution:

# Demande à l'utilisateur de saisir un nombre entier
n = int(input("Entrer un nombre: "))

# Initialise la somme à 0
s = 0

# Parcourt les nombres impairs de 1 jusqu'à n
# range(1, n + 1, 2) commence à 1 et augmente de 2
for i in range(1, n + 1, 2):

    # Ajoute le nombre impair actuel à la somme
    s += i

# Affiche la somme de tous les nombres impairs
print("La somme des nombres impairs est: ", s)

Explication:

Dans ce programme:

  • L’utilisateur doit saisir la limite supérieure des nombres impairs. Stockez-la dans la variable N.
  • Exécutez la boucle « for » à partir de 1, jusqu’à n+1 de 1 à n, avec un pas de 2.
  • N’oubliez pas que range prend des paramètres tels que : range(start, end, incrementor). N’oubliez donc pas le 2 pour sauter les nombres pairs, sinon vous les additionnerez tous !
  • Ensuite nous ajoutons le nombre actuel i à la variable s.
  • Enfin nous affichons la somme des nombres impairs.
 

Exercice 7:

Un magasin offre à ses clients 25% de réduction sur les montants d’achat supérieurs à 500 €. Ecrivez un programme en Python qui permet d’entrer le prix total hors TVA et de calculer le montant TTC en tenant compte de la remise et du fait que la TVA = 20%.

Exemple de sortie:

Entrer le montant HT: 100
Le montant TTC est: 120.0

Remarque: PrixTTC = PrixHT + (PrixHT * TVA)

# Demande à l'utilisateur de saisir le montant hors taxes (HT)
# et convertit la valeur en nombre décimal
HT = float(input("Entrer le montant HT: "))

# Calcule le montant toutes taxes comprises (TTC)
# La TVA appliquée ici est de 20 %
TTC = HT + HT * 0.2

# Vérifie si le montant TTC est supérieur à 500 €
if TTC > 500:

    # Applique une réduction de 25 % sur le montant TTC
    TTC = TTC - TTC * 0.25

    # Affiche le montant TTC après réduction
    print("Le montant TTC est:", TTC)

else:
    # Si le montant TTC ne dépasse pas 500 €,
    # aucun réduction n'est appliquée
    print("Le montant TTC est:", TTC)
 

Exercice 8:

Écrire un programme en Python qui affiche une demi-pyramide en utilisant *, en fonction d’un entier N saisi par l’utilisateur.

Exemple de sortie:

Entrer le nombre de lignes: 5
*
* *
* * *
* * * *
* * * * *
Solution:

# Demande à l'utilisateur de saisir le nombre de lignes
nbrLignes = int(input("Entrer le nombre de lignes: "))

# Boucle extérieure : parcourt les lignes du triangle
for i in range(nbrLignes):

    # Boucle intérieure : affiche les étoiles de la ligne actuelle
    # i + 1 permet d'afficher une étoile de plus à chaque ligne
    for j in range(i + 1):

        # Affiche une étoile sans passer à la ligne
        print("* ", end="")

    # Passe à la ligne suivante après avoir affiché toutes
    # les étoiles de la ligne actuelle
    print()

Explication:

  • Pour commencer, nous obtenons le nombre de lignes de la pyramide de la part de l’utilisateur.
  • Dans la première boucle, nous itérons de i = 0 à i = nbrLignes.
  • La deuxième boucle va de j = 0 à i + 1. À chaque itération de cette boucle, nous affichons i + 1 nombre de * sans nouvelle ligne. Ici, le numéro de ligne donne le nombre de * à afficher sur cette ligne. Par exemple, à la deuxième ligne, nous affichons deux *. Pareillement, à la 3e ligne, nous affichons trois *.
  • Une fois la boucle interne terminée, nous affichons une nouvelle ligne et commençons à afficher les * sur une nouvelle ligne.
 
 

Exercice 9:

Ecrire un programme en Python qui compte le nombre de chiffres dans un nombre saisi par l’utilisateur.

Exemple de sortie:

Donner un nombre: 9876
Le nombre de chiffres est 4
Solution:

# Demande à l'utilisateur de saisir un nombre entier
n = int(input("Entrer un nombre: "))

# Initialise le compteur de chiffres à 0
i = 0

# Répète la boucle tant que n est différent de 0
while n != 0:

    # Augmente le compteur de 1
    i += 1

    # Supprime le dernier chiffre de n
    # // effectue une division entière
    n //= 10

# Affiche le nombre total de chiffres
print("Le nombre de chiffres est", i)

Explication:

Le programme divise le nombre saisi par l’utilisateur par 10 dans la boucle while jusqu’à ce que le résultat atteigne zéro. Le nombre d’itérations correspondra au nombre de chiffres.

L’entier saisi par l’utilisateur est stocké dans la variable n. Ensuite, la boucle while est itérée jusqu’à ce que la condition (n != 0) soit évaluée à 0 (False).

  • Après la première itération, la valeur de n est de 987 et le compteur est incrémenté à 1.
  • Après la deuxième itération, la valeur de n sera de 98 et le compteur sera incrémenté à 2.
  • Après la troisième itération, la valeur de n sera de 9 et le compteur sera incrémenté à 3.
  • Après la quatrième itération, la valeur de n sera 0 et le compteur sera incrémenté à 4.
  • La condition de la boucle est alors évaluée à false et la boucle se termine.
Exercice 10:

Écrire un programme en Python qui affiche une demi-pyramide en utilisant des nombres, en fonction d’un entier N saisi par l’utilisateur.

Exemple de sortie:

Entrer le nombre de lignes: 5
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
Solution:

# Demande à l'utilisateur de saisir le nombre de lignes
nbrLignes = int(input("Entrer le nombre de lignes: "))

# Boucle extérieure : parcourt les différentes lignes
for i in range(nbrLignes):

    # Boucle intérieure : parcourt les nombres à afficher
    # Le nombre d'éléments augmente à chaque ligne
    for j in range(i + 1):

        # Affiche les nombres de 1 jusqu'à i + 1
        # end=" " permet de rester sur la même ligne
        print(j + 1, end=" ")

    # Passe à la ligne suivante après avoir terminé la ligne actuelle
    print()

Explication:

  • Pour commencer, nous obtenons le nombre de lignes de la pyramide de la part de l’utilisateur.
  • Dans la première boucle, nous itérons de i = 0 à i = nbrLignes.
  • Dans la deuxième boucle, nous affichons des nombres allant de 1 à j, où j est compris entre 0 et i.
  • Après chaque itération de la première boucle, nous affichons une nouvelle ligne.
 

Éditeur de code Python: Testez votre code en ligne!


 
qcm-python

Une réflexion sur “Exercice Corrigé Python pour Débutant – Partie 3

  • avril 30, 2026 à 3:59 pm
    Permalien
    N = int(input("Entrer le nombre de lignes: "))
    
    [print(' '.join(str(j) for j in range(1, i + 1))) for i in range(1, N + 1)]
    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *