loader image

La boite à ITees

Illustration d'une ville futuriste avec des montagnes en arrière-plan, un soleil levant, et une lune géante dans laquelle est inscrit le logo Python.

Exercices Python

La boite à ITees > Exercices pratiques > Exercices Python

Exercice 1

 

Afficher un Message

Objectif : Apprendre à utiliser la fonction print() pour afficher du texte à l’écran.

 

Écrivez un programme Python qui affiche le message suivant : "Bonjour, monde !".

 

Correction de l’exercice 1 

Correction
# Le code ci-dessous utilise la fonction print() pour afficher un texte.
print("Bonjour, monde !")

Fonction print() :

    • La fonction print() est utilisée pour afficher du texte ou d’autres informations à l’écran. Elle prend un argument, qui peut être une chaîne de caractères, un nombre, ou même le résultat d’une expression.
    • "Bonjour, monde !" est une chaîne de caractères, c’est-à-dire une séquence de caractères entourée de guillemets.

 

Exécution :

    • Lorsque le programme est exécuté, le texte passé en argument à print() est affiché sur la console. Ce type de sortie est souvent utilisé pour montrer des messages ou des résultats à l’utilisateur.

Exercice 2

 

Addition de Nombres

Objectif : Apprendre à manipuler les variables, recueillir des entrées utilisateur, et effectuer des opérations arithmétiques.

 

Énoncé : Écrivez un programme qui demande à l’utilisateur deux nombres et qui affiche leur somme.

 

Correction de l’exercice 2

Correction
# La fonction input() permet de demander des informations à l'utilisateur.
# La fonction float() convertit la chaîne de caractères entrée par l'utilisateur en un nombre flottant (nombre décimal).
nombre1 = float(input("Entrez le premier nombre : "))
nombre2 = float(input("Entrez le deuxième nombre : "))

# On additionne les deux nombres.
somme = nombre1 + nombre2

# Le résultat est affiché à l'écran.
print("La somme des deux nombres est :", somme)
    • input() demande à l’utilisateur d’entrer une valeur. Cette valeur est toujours traitée comme une chaîne de caractères (texte) en Python.
    • Puisque nous devons faire des calculs avec les entrées utilisateur, nous devons les convertir en nombres. Ici, float() est utilisé pour convertir la chaîne de caractères en un nombre à virgule flottante (par exemple, 3.5).
    • Après conversion, les deux nombres sont additionnés avec l’opérateur +.

Exercice 3

 

Vérification de Parité

Objectif : Apprendre à utiliser les conditions (if/else).

 

Énoncé : Écrivez un programme qui demande un nombre à l’utilisateur et indique s’il est pair ou impair.

 

Correction de l’exercice 3

Correction
# La fonction int() convertit l'entrée en un entier.
nombre = int(input("Entrez un nombre : "))

# On utilise l'opérateur modulo (%) pour vérifier si le nombre est divisible par 2.
if nombre % 2 == 0:
    print("Le nombre est pair.")
else:
    print("Le nombre est impair.")

Conversion en entier (int()) :

    • Le nombre entré par l’utilisateur est initialement une chaîne de caractères, et il doit être converti en un entier avec int() pour vérifier la parité.

 

Condition if :

    • La condition if teste si le reste de la division du nombre par 2 (nombre % 2) est égal à 0. Si c’est le cas, le nombre est pair.
    • L’opérateur % est le modulo, qui renvoie le reste de la division. Par exemple, 5 % 2 renvoie 1, car 5 divisé par 2 donne un reste de 1.

 

Bloc else :

    • Si le nombre n’est pas pair, le bloc else s’exécute, indiquant que le nombre est impair.

Exercice 4

 

Calculer la Factorielle

Objectif : Apprendre à utiliser les boucles.

 

Énoncé : Écrivez un programme qui demande un nombre à l’utilisateur et calcule sa factorielle.

 

Correction de l’exercice 4

Correction
# La fonction range() génère une séquence de nombres de 1 à nombre.
nombre = int(input("Entrez un nombre entier : "))
factorielle = 1

# On multiplie successivement les valeurs de 1 à nombre.
for i in range(1, nombre + 1):
    factorielle *= i

print("La factorielle de", nombre, "est", factorielle)

Conversion en entier (int()) :

    • Le nombre entré est converti en un entier pour pouvoir effectuer la boucle de calcul.

 

Initialisation :

    • factorielle est initialisée à 1, car la multiplication par 1 ne change pas la valeur et sert de point de départ pour le calcul.

 

Boucle for :

    • range(1, nombre + 1) crée une séquence de nombres de 1 à nombre, qui sont ensuite multipliés les uns par les autres.
    • Par exemple, pour nombre = 5, la boucle multiplie successivement 1 * 2 * 3 * 4 * 5.

Exercice 5

 

Trouver le Plus Grand Nombre

Objectif : Apprendre à utiliser les listes, les boucles, et les fonctions intégrées comme max().

 

Énoncé : Écrivez un programme qui demande trois nombres à l’utilisateur et affiche le plus grand.

 

Correction de l’exercice 5

Correction
# Une liste est utilisée pour stocker les nombres.
nombres = []
for i in range(3):
    nombre = float(input(f"Entrez le nombre {i+1} : "))
    nombres.append(nombre)

# La fonction max() renvoie le plus grand élément de la liste.
plus_grand = max(nombres)

print("Le plus grand nombre est :", plus_grand)

Liste nombres :

    • Une liste vide nombres est créée pour stocker les trois nombres que l’utilisateur va entrer.

 

Boucle for :

    • La boucle for itère trois fois (de 0 à 2) pour demander à l’utilisateur d’entrer un nombre à chaque itération.
    • Chaque nombre est converti en flottant (float()) puis ajouté à la liste nombres à l’aide de append().

 

Fonction max() :

    • max(nombres) retourne le plus grand nombre dans la liste. C’est une fonction pratique pour trouver le maximum dans une séquence de valeurs.

Exercice 6

 

Inverser une Chaîne

Objectif : Apprendre à manipuler les chaînes de caractères.

 

Énoncé : Écrivez un programme qui demande une chaîne de caractères à l’utilisateur et qui affiche cette chaîne inversée.

 

Correction de l’exercice 6

Correction
# Demande à l'utilisateur d'entrer une chaîne de caractères
chaine = input("Entrez une chaîne de caractères : ")

# Inverse la chaîne
chaine_inversee = chaine[::-1]

# Affiche la chaîne inversée
print("La chaîne inversée est :", chaine_inversee)
    • En Python, le slicing est une technique pour accéder à des sous-parties d’une séquence. [::-1] est une méthode rapide pour inverser une chaîne de caractères.
    • Le premier caractère devient le dernier, le deuxième devient l’avant-dernier, et ainsi de suite.

Exercice 7

 

Vérifier un Palindrome

Objectif : Combiner les connaissances sur les chaînes de caractères et les conditions.

 

Énoncé : Écrivez un programme qui demande une chaîne de caractères et vérifie si elle est un palindrome (se lit de la même façon à l’endroit et à l’envers).

Correction de l’exercice 7

Correction
# Demande à l'utilisateur d'entrer une chaîne de caractères
chaine = input("Entrez une chaîne de caractères : ")

# Vérifie si la chaîne est un palindrome
if chaine == chaine[::-1]:
    print("La chaîne est un palindrome.")
else:
    print("La chaîne n'est pas un palindrome.")

Comparaison de chaînes :

    • L’exercice repose sur la comparaison entre la chaîne d’origine et sa version inversée. Si les deux sont égales, alors la chaîne est un palindrome.

 

Condition if :

    • Si la condition est vraie (les deux chaînes sont identiques), le programme affiche que c’est un palindrome.
    • Sinon, il indique que ce n’en est pas un.

Exercice 8

 

Table de Multiplication

Objectif : Renforcer l’utilisation des boucles.

 

Énoncé : Écrivez un programme qui demande un nombre à l’utilisateur et affiche sa table de multiplication (de 1 à 10).

 

Correction de l’exercice 8

Correction
# Demande à l'utilisateur d'entrer un nombre
nombre = int(input("Entrez un nombre pour générer sa table de multiplication : "))

# Boucle pour générer la table de multiplication
for i in range(1, 11):
    resultat = nombre * i
    print(f"{nombre} x {i} = {resultat}")
    • La boucle for parcourt les nombres de 1 à 10, et pour chaque nombre, elle multiplie le nombre choisi par l’utilisateur.
    • f"{nombre} x {i} = {resultat}" est une chaîne formatée (f-string) qui permet d’inclure les valeurs des variables dans la chaîne de caractères de manière lisible.

Exercice 9

 

Calculer la Moyenne d’une Liste de Nombres

Objectif : Apprendre à manipuler les listes et utiliser des fonctions de base comme sum() et len().

 

Énoncé : Écrivez un programme qui demande une liste de nombres à l’utilisateur, puis calcule et affiche la moyenne de ces nombres.

 

Correction de l’exercice 9

Correction
# Demande à l'utilisateur d'entrer une série de nombres séparés par des espaces
nombres = input("Entrez une série de nombres séparés par des espaces : ")

# Convertit la chaîne de caractères en une liste de nombres
nombres = list(map(float, nombres.split()))

# Calcule la moyenne des nombres
moyenne = sum(nombres) / len(nombres)

# Affiche la moyenne
print("La moyenne des nombres est :", moyenne)

Entrée et conversion :

    • L’utilisateur entre une série de nombres sous forme de chaîne de caractères, séparés par des espaces.
    • split() divise cette chaîne en une liste de sous-chaînes, chacune représentant un nombre.
    • map(float, nombres.split()) convertit chaque sous-chaîne en un nombre flottant.

 

Calcul de la moyenne :

    • La fonction sum() additionne tous les nombres de la liste.
    • La fonction len() donne le nombre total d’éléments dans la liste, qui est utilisé pour diviser la somme et obtenir la moyenne.

Exercice 10

 

Jeu de Devinette

Objectif : Apprendre à utiliser des boucles while et à introduire de l’interaction utilisateur.

 

Énoncé : Écrivez un programme qui choisit un nombre aléatoire entre 1 et 100 et demande à l’utilisateur de deviner ce nombre. Le programme doit indiquer si la devinette est trop haute ou trop basse, et se terminer lorsque l’utilisateur trouve le bon nombre.

 

Correction de l’exercice 10

Correction
import random

# Choisit un nombre aléatoire entre 1 et 100
nombre_secret = random.randint(1, 100)

# Initialise la variable pour stocker la tentative de l'utilisateur
tentative = None

# Boucle de jeu
while tentative != nombre_secret:
    tentative = int(input("Devinez le nombre entre 1 et 100 : "))
    
    if tentative < nombre_secret:
        print("Trop bas ! Essayez encore.")
    elif tentative > nombre_secret:
        print("Trop haut ! Essayez encore.")
    else:
        print("Félicitations ! Vous avez trouvé le nombre secret.")

Génération aléatoire (random.randint()) :

    • random.randint(1, 100) génère un nombre entier aléatoire entre 1 et 100, que l’utilisateur doit deviner.

 

Boucle while :

    • La boucle while continue de demander une devinette tant que l’utilisateur ne trouve pas le bon nombre.

 

Conditions :

    • Si la tentative est inférieure au nombre secret, le programme affiche « Trop bas ».
    • Si elle est supérieure, le programme affiche « Trop haut ».
    • Si la tentative est correcte, la boucle se termine et le programme félicite l’utilisateur.

 

Interactivité :

    • Ce type de jeu interactif renforce la compréhension des boucles, des conditions et des entrées utilisateur.