Exercice Corrigé Python pour Débutant – Partie 1

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 Python qui affiche le message « Hello World ».

Solution:

# Affiche le message "Hello, world!" dans la console
print('Hello, world!')

Explication:

En Python, la fonction print() est utilisée pour afficher le message souhaité sur l’écran d’un appareil.

 

Exercice 2:

Écrire un programme Python qui prend deux nombres et affiche leur somme.

Exemple de sortie:

Entrer 1er nombre: 1
Entrer 2éme nombre: 2
La somme de  1  et  2  est  3
Solution:

# Demande à l'utilisateur de saisir le premier nombre
x = input("Entrer 1er nombre: ")

# Demande à l'utilisateur de saisir le deuxième nombre
y = input("Entrer 2ème nombre: ")

# Convertit les deux valeurs saisies en entiers
# puis calcule leur somme
s = int(x) + int(y)

# Affiche les deux nombres ainsi que leur somme
print("La somme de ", x, " et ", y, " est ", s)

Explication:

Le programme ci-dessous permet d’additionner deux nombres en Python, l’utilisateur est d’abord invité à saisir deux nombres. Les données saisies sont analysées à l’aide de la fonction Python input() et stockées dans les variables x et y.

Ensuite, les variables x et y sont convertis en valeurs entière à l’aide de la fonction int() et ensuite additionnées à l’aide de l’opérateur arithmétique +, et le résultat est stocké dans la variable s.

Note: Si vous n’utilisez pas la fonction de conversion int() et vous entrez 1 et 2, vous obtiendrez 12, car l’opérateur + effectue ce que l’on appelle une « concaténation ».

Enfin, nous affichons le résultat à l’aide de la fonction print() avec une chaîne de caractères formatée.

 

Exercice 3:

Écrire un programme Python qui prend deux nombres et affiche leur produit.

Exemple de sortie:

Entrer 1er nombre: 2
Entrer 2éme nombre: 3
La multiplication de  2  et  3  est  6.0
Solution:

# Demande à l'utilisateur de saisir le premier nombre
x = input("Entrer 1er nombre: ")

# Demande à l'utilisateur de saisir le deuxième nombre
y = input("Entrer 2ème nombre: ")

# Convertit les deux valeurs en nombres décimaux
# puis calcule leur multiplication
m = float(x) * float(y)

# Affiche les deux nombres ainsi que leur résultat
print("La multiplication de ", x, " et ", y, " est ", m)

Explication:

Nous utilisons la fonction float() avec input() pour convertir la valeur saisie en valeurs à virgule flottante.

 

Exercice 4:

Ecrivez un programme en Python qui demande l’âge et permet de renseigner sa catégorie sachant que les catégories sont les suivantes:

  • Gamin de 6 à 7 ans
  • Pupille de 8 à 9 ans
  • Jeune de 10 à 11 ans
  • Cadet après 12 ans

Exemple de sortie:

Entrer votre age : 6
Vous êtes Gamin
# Demande l'âge de l'utilisateur et le convertit en entier
age = int(input("Entrer votre âge : "))

# Vérifie si l'âge est compris entre 6 et 7 ans
if age >= 6 and age <= 7:
    print("Vous êtes Gamin")

# Vérifie si l'âge est compris entre 8 et 9 ans
if age >= 8 and age <= 9:
    print("Vous êtes Pupille")

# Vérifie si l'âge est compris entre 10 et 11 ans
if age >= 10 and age <= 11:
    print("Vous êtes Jeune")

# Vérifie si l'âge est supérieur ou égal à 12 ans
if age >= 12:
    print("Vous êtes Cadet")

Explication:

  • input() permet de demander l’âge à l’utilisateur.
  • int() convertit la valeur saisie en nombre entier.
  • if permet de vérifier une condition.
  • and permet de combiner deux conditions qui doivent être vraies.
  • >= signifie supérieur ou égal à.
  • <= signifie inférieur ou égal à.
 

Exercice 5:

Écrire un programme en Python pour calculer la factorielle d’un nombre entier saisi par l’utilisateur. (Remarque: le factoriel de 5, qui s’écrit 5! = 5 × 4 × 3 × 2 × 1).

Exemple de sortie:

Saisir un nombre : 5
Le factoriel de 5 est 120
----------------------------
Saisir un nombre : 0
La factorielle de 0 est 1
----------------------------
Saisir un nombre : -5
Désolé, la factorielle n'existe pas pour les nombres négatifs.
Solution:

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

# Initialise la variable f à 1.
# Elle servira à stocker le résultat de la factorielle.
f = 1

# Vérifie si le nombre est négatif
if n < 0:
    # La factorielle n'est pas définie pour les nombres négatifs
    print("Désolé, la factorielle n'existe pas pour les nombres négatifs.")

# Vérifie si le nombre est égal à 0
elif n == 0:
    # Par définition, 0! = 1
    print("La factorielle de 0 est 1")

# Si le nombre est positif
else:
    # Parcourt les nombres de 1 jusqu'à n
    for i in range(1, n + 1):
        # Multiplie progressivement f par i
        # Exemple pour n = 4 : 1 × 2 × 3 × 4 = 24
        f = f * i

    # Affiche le résultat de la factorielle
    print("La factorielle de", n, "est", f)

Explication:

La factorielle d'un nombre n est le produit de tous les nombres entiers de 1 à n. Par exemple : 5! = 1 × 2 × 3 × 4 × 5 = 120. Ici, le nombre dont la factorielle doit être trouvée est stocké dans n, et nous vérifions si le nombre est négatif, nul ou positif en utilisant l'instruction if...elif...else. Si le nombre est positif, nous utilisons la boucle for et la fonction range() pour calculer la factorielle.

 

Exercice 6:

Ecrivez un programme en Python pour inverser les chiffres d'un nombre saisi par l'utilisateur.

Exemple de sortie:

Donner un nombre: 123
Le nombre inversé est 321
Solution:

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

# Initialise la variable rev à 0.
# Elle servira à stocker le nombre inversé.
rev = 0

# Répète les instructions tant que Nbr est supérieur à 0
while Nbr > 0:

    # Décale les chiffres déjà récupérés vers la gauche
    rev = rev * 10

    # Récupère le dernier chiffre de Nbr
    # L'opérateur % permet d'obtenir le reste de la division
    # entière par 10
    rev = rev + Nbr % 10

    # Supprime le dernier chiffre de Nbr
    # L'opérateur // effectue une division entière
    Nbr = Nbr // 10

# Affiche le nombre inversé
print("Le nombre inversé est", rev)

Explication:

Voici ce que fait le programme ci-dessus:

  • Initialise la variable rev = 0.
  • Dans la boucle while multiplie le nombre inversé 'rev' par 10, ajoutez le reste du nombre original 'Nbr' divisé par 10 à 'rev'.
    • C'est-à-dire, rev = rev + Nbr%10
  • Diviser le nombre original par 10.
    • Dans cette étape, la valeur du nombre original 'Nbr' est mise à jour en la divisant par 10. À chaque itération, le dernier chiffre du nombre original 'Nbr' est supprimé et la boucle se termine lorsque la valeur du nombre original 'Nbr' est égale à 0.

Maintenant, inversons le nombre 123 en utilisant le programme ci-dessus.

Nbr = 123
rev = 0
rev = rev * 10 + Nbr % 10 = 0 * 10 + 123 % 10 = 3
Nbr = Nbr/ 10 = 12
rev = rev * 10 + Nbr % 10 = 3 * 10 + 12 % 10 = 32
Nbr = Nbr/ 10 = 1
rev = rev * 10 + Nbr % 10 = 32 * 10 + 1 % 10 = 321
Nbr = Nbr/10 = 0.

Le résultat sera donc 321.

 
 

Exercice 7:

Écrire un programme Python qui prend un nombre entière et calcule sa valeur absolue.

Exemple de sortie:

Entrer un nombre : -3
La valeur absolue de -3 est 3
------------------------------
Entrer un nombre : 2
La valeur absolue de 2 est 2

Note: La valeur absolue de -3 est 3, ce qui est non négatif.

Solution:

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

# Vérifie si le nombre est négatif
if n < 0:
    # Si le nombre est négatif, on change son signe
    # pour obtenir sa valeur absolue
    print("La valeur absolue de", n, "est", -n)

# Si le nombre est positif ou égal à 0
else:
    # La valeur absolue est alors le nombre lui-même
    print("La valeur absolue de", n, "est", n)

Explication:

Le programme ci-dessus calcule la valeur absolue de n. Rappelez-vous que la valeur absolue de n est n si n n'est pas négatif; sinon, la valeur absolue est -n. Par exemple, la valeur absolue de 5 est 5 et la valeur absolue de -4 est 4=-(-4).

 

Exercice 8:

Écrire un programme en Python qui demande à l'utilisateur deux nombres n1 et n2 et lui indique ensuite si le produit de ces deux nombres est positif ou négatif. On prévoit dans le programme le cas où le produit peut être nul.

Exemple de sortie:

Entrer le 1er nombre:  -1.5
Entrer le 2éme nombre:  3
Le produit est négatif
-----------------------------
Entrer le 1er nombre:   1
Entrer le 2éme nombre:  3
Le produit est positif
-----------------------------
Entrer le 1er nombre:   0
Entrer le 2éme nombre:  3
Le produit est nul
# Demande à l'utilisateur de saisir le premier nombre
# et le convertit en nombre décimal
n1 = float(input("Entrer le 1er nombre: "))

# Demande à l'utilisateur de saisir le deuxième nombre
# et le convertit en nombre décimal
n2 = float(input("Entrer le 2ème nombre: "))

# Vérifie si l'un des deux nombres est égal à 0
# Dans ce cas, le produit est nul
if n1 == 0 or n2 == 0:
    print("Le produit est nul")

# Vérifie si le produit des deux nombres est négatif
if n1 * n2 < 0:
    print("Le produit est négatif")

# Vérifie si le produit des deux nombres est positif
if n1 * n2 > 0:
    print("Le produit est positif")
 

Exercice 9:

Écrire un programme Python pour trouver le nombre max à partir de trois nombres.

Exemple de sortie:

Entrer 1er nombre: 2
Entrer 2éme nombre: 9
Entrer 3éme nombre: 5
max =  9
Solution:

# Demande à l'utilisateur de saisir le premier nombre
A = int(input("Entrer 1er nombre: "))

# Demande à l'utilisateur de saisir le deuxième nombre
B = int(input("Entrer 2ème nombre: "))

# Demande à l'utilisateur de saisir le troisième nombre
C = int(input("Entrer 3ème nombre: "))

# On considère d'abord que A est le plus grand nombre
Max = A

# Si B est supérieur ou égal à Max, B devient le nouveau maximum
if B >= Max:
    Max = B

# Si C est supérieur ou égal à Max, C devient le nouveau maximum
if C >= Max:
    Max = C

# Affiche le plus grand des trois nombres
print("max = ", Max)

Explication:

Étape 1: Lire les trois nombres à comparer sous la forme A, B et C
Étape 2: Définir la variable max = A
Étape 3: Si B > max, mettez max = B
Étape 4: Si C > max, mettez max = C
Étape 5: Afficher max comme le plus grand des trois nombres

🚀 Boostez votre productivité avec les meilleurs outils WebEssayez-les

 

Exercice 10:

Écrire un programme Python pour échanger deux nombres sans utiliser une troisième variable.

Exemple de sortie:

Entrer un nombre A : 1
Entrer un nombre B : 2
Après la permutation: A = 2 et B = 1
Solution:

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

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

# Permute les valeurs de A et B
# Après cette instruction, A contient l'ancienne valeur de B
# et B contient l'ancienne valeur de A
A, B = B, A

# Affiche les valeurs de A et B après la permutation
print("Après la permutation: A =", A, "et B =", B)

Explication:

Dans cette ligne de code A,B = B,A, nous avons affecter B à A et A à B. En Python, il est possible d'affecter plusieurs variables dans une seule ligne de code. C'est ce qu'on appelle l'affectation multiple. La syntaxe est la suivante:

var1, var2, var3 = valeur1, valeur2, valeur3

Ceci affecte les valeurs valeur1, valeur2, et valeur3 aux variables var1, var2, et var3 respectivement, le tout en une seule ligne.

 
 

Exercice 11:

Écrire un programme Python pour vérifier si un nombre est pair ou impair.

Exemple de sortie:

Entrer un nombre : 2
2 est un nombre pair
-------------------------
Entrer un nombre : 3
2 est un nombre impair
Solution:

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

# Vérifie si le reste de la division de n par 2 est égal à 0
if n % 2 == 0:
    # Si le reste est 0, le nombre est pair
    print(n, "est un nombre pair")
else:
    # Sinon, le nombre est impair
    print(n, "est un nombre impair")

Explication:

Dans le programme ci-dessus, l'entier saisi par l'utilisateur est stocké dans la variable n.

Ensuite, on vérifie si n est parfaitement divisible par 2 ou non à l'aide de l'opérateur de module %.

Si le nombre est parfaitement divisible par 2, l'expression de test n%2 == 0 est évaluée à 1 ("true"). Cela signifie que le nombre est pair.

En revanche, si l'expression de test est évaluée à 0 ("false"), le nombre est impair.

 

Exercice 12:

Écrire un programme Python qui calcule la moyenne de trois nombres saisis par l'utilisateur.

Exemple de sortie:

Entrer 1er nombre: 1
Entrer 2éme nombre: 2
Entrer 3éme nombre: 3
La Moyenne est 2.0
Solution:

# Demande à l'utilisateur de saisir le premier nombre
A = int(input("Entrer 1er nombre: "))

# Demande à l'utilisateur de saisir le deuxième nombre
B = int(input("Entrer 2ème nombre: "))

# Demande à l'utilisateur de saisir le troisième nombre
C = int(input("Entrer 3ème nombre: "))

# Calcule la moyenne des trois nombres
Moy = (A + B + C) / 3

# Affiche la moyenne calculée
print("La moyenne est ", Moy)

Explication:

La première étape consiste à prendre les données de l'utilisateur. La fonction input() est utilisée pour lire trois nombres int.

La moyenne est ensuite calculée à l'aide de la formule : (A + B + C) / 3.

Enfin, le résultat est affiché à l'utilisateur à l'aide de la fonction print.

 

Exercice 13:

Écrire un programme en Python qui permet de savoir si le nombre saisi est Premier ou non. (Un nombre premier est un nombre uniquement divisible par 1 ou par lui-même).

Exemple de sortie:

Entrer un nombre : 29
29 est un nombre premier

Entrer un nombre : 21
21 n'est pas un nombre premier

21 a quatre diviseurs (1, 3, 7 et 21) donc ce n'est pas un nombre premier.

Solution:

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

# Commence la recherche d'un diviseur à partir de 2
i = 2

# Continue tant que Nbr n'est pas divisible par i
# et que i est inférieur à Nbr
while Nbr % i != 0 and i < Nbr:
    # Passe au diviseur suivant
    i += 1

# Si aucun diviseur n'a été trouvé avant Nbr,
# alors Nbr est un nombre premier
if i == Nbr:
    print(Nbr, "est un nombre premier")
else:
    # Sinon, Nbr possède un diviseur autre que 1 et lui-même
    print(Nbr, "n'est pas un nombre premier")

Explication:

Une façon simple de déterminer si un nombre est premier est de faire une boucle allant de 2 à n-1 et de vérifier si le nombre est divisible par n'importe quel nombre de cette plage. Si c'est le cas, il ne s'agit pas d'un nombre premier ; sinon, c'est le cas.

 

Exercice 14:

Ecrivez un programme en Python qui calcule la somme de 1 à 10. En utilisant la boucle "while".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

Exemple de sortie:

La somme de 1 à 10 est 55
Solution:

# Initialise le compteur à 1
i = 1

# Initialise la variable somme à 0
# Elle servira à stocker progressivement la somme
somme = 0

# Répète les instructions tant que i est inférieur ou égal à 10
while i <= 10:

    # Ajoute la valeur de i à la somme
    somme = somme + i

    # Passe au nombre suivant
    i = i + 1

# Affiche la somme des nombres de 1 à 10
print("La somme de 1 à 10 est:", somme)

Explication:

Dans la boucle while ci-dessus, la variable i est initialisée à 1 et la boucle se poursuit tant que i est inférieur ou égal à 10. À chaque itération de la boucle, la variable somme s'additionne à la valeur de i.

Enfin, la boucle incrémente la valeur de i de 1, et le processus se répète jusqu'à ce que la condition i <= 10 ne soit plus vraie. Dans ce cas on affiche le message "La somme de 1 à 10 est: 55".

 

Exercice 15:

Ecrivez un programme en Python qui calcule la somme de 1 à N, où N est saisi par l'utilisateur. En utilisant la boucle "while".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 = 28

Exemple de sortie:

Entrer un nombre: 7
La somme de 1 à 7 est 28
Solution:

# Initialise le compteur à 1
i = 1

# Initialise la somme à 0
# Cette variable va contenir progressivement le résultat
somme = 0

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

# Répète la boucle tant que i est inférieur ou égal à N
while i <= N:

    # Ajoute la valeur de i à la somme
    somme = somme + i

    # Passe au nombre entier suivant
    i = i + 1

# Affiche la somme des nombres de 1 jusqu'à N
print("La somme de 1 à ", N, " est:", somme)

Explication:

La boucle while est itérée n fois. À chaque itération, la valeur de i est ajoutée à la somme 'somme' et i est incrémenté de 1.

 

Exercice 16:

Ecrivez un programme en Python qui calcule la somme de 1 à 10. En utilisant la boucle "for".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 = 55

Exemple de sortie:

La somme de 1 à 10 est 55
Solution:

# Initialise la somme à 0
somme = 0

# Parcourt les nombres de 1 à 10
# range(1, 11) génère les nombres de 1 jusqu'à 10
for i in range(1, 11):

    # Ajoute la valeur de i à la somme
    somme = somme + i

# Affiche la somme des nombres de 1 à 10
print("La somme de 1 à 10 est:", somme)

Explication:

Dans la boucle for ci-dessus, la variable i est initialisée à 1 et la boucle se poursuit tant que i est inférieur à 11. À chaque itération de la boucle, la variable somme s'additionne à la valeur de i.

 

Exercice 17:

Ecrivez un programme en Python qui calcule la somme de 1 à N, où N est saisi par l'utilisateur. En utilisant la boucle "for".

Indication:

1 + 2 + 3 + 4 + 5 + 6 + 7 = 28

Exemple de sortie:

Entrer un nombre: 7
La somme de 1 à 7 est 28
Solution:

# Initialise la somme à 0
somme = 0

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

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

    # Ajoute la valeur de i à la somme
    somme = somme + i

# Affiche la somme des nombres de 1 jusqu'à n
print("La somme de", 1, "à", n, "est", somme)

Explication:

La boucle for est itérée n fois. À chaque itération, la valeur de i est ajoutée à la somme somme et i est incrémenté de 1.

 

Exercice 18:

Écrire un programme en Python qui prend deux entiers de l'utilisateur (un nombre de base et un exposant) et calcule la puissance.

Exemple: Dans le cas de 23

  • 2 est le nombre de base
  • 3 est l'exposant
  • Et la puissance est égale à 2*2*2

Exemple de sortie:

Entrer la base: 2
Entrer l'exposant: 3
2 ^ 3 = 8
Solution:

# Demande à l'utilisateur de saisir la base
# et la convertit en nombre décimal
b = float(input("Entrer la base: "))

# Demande à l'utilisateur de saisir l'exposant
# et le convertit en nombre entier
e = int(input("Entrer l'exposant: "))

# Initialise la puissance à 1
puissance = 1

# Répète la multiplication e fois
for i in range(e):

    # Multiplie progressivement la puissance par la base
    puissance = puissance * b

# Affiche le résultat de la puissance
# {0} correspond à b, {1} à e et {2} à puissance
print("{0} ^ {1} = {2}".format(b, e, puissance))

Explication:

Voici la logique descriptive étape par étape:

  • L'utilisateur entre la base et les exposants. Les stocker dans deux variables, b et e.
  • Déclarer et initialiser une autre variable pour stocker la puissance, puissance = 1.
  • Exécutez une boucle de 1 à l'exposant, en incrémentant le compteur de la boucle de 1 à chaque itération. La structure de la boucle doit ressembler à for i in range(e): .
  • Pour chaque itération à l'intérieur de la boucle, multipliez la puissance par la base, c'est-à-dire puissance = puissance * b.
  • Enfin, à la fin de la boucle, il ne reste plus que la puissance dans la variable puissance.
 

Exercice 19:

Écrire un programme en Python qui affiche la table de multiplication d'un entier saisi par l'utilisateur, en utilisant la boucle "for".

Exemple de sortie:

Entrer un nombre: 7
7 x 0 = 0
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10= 70
Solution:

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

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

    # Calcule et affiche le résultat de la multiplication
    # de n par i
    print(n, " * ", i, "=", i * n)

Explication:

L'utilisateur est d'abord invité à saisir un nombre. Le nombre saisie est analysé à l'aide de la fonction Python input() et stocké dans la variable n. Nous utilisons la boucle for pour afficher la table de multiplication de n. La boucle s'exécute jusqu'au 11. À chaque itération de la boucle, i * n est affiché.

🚀 Boostez votre productivité avec les meilleurs outils WebEssayez-les

 

Exercice 20:

Écrire un programme en Python permettant de calculer le plus grand commun diviseur (PGCD) entre deux nombres entiers entrés par l'utilisateur.

Exemple de sortie:

Entrer le 1er nombre: 18  
Entrer le 2éme nombre: 45
Le PGCD de 18 et 45 = 9
Solution:

n1 = int(input("Entrer le 1er nombre: "))
n2 = int(input("Entrer le 2éme nombre: "))

# chercher la plus petite des deux valeurs n1 et n2
min = n1 if (n1 < n2) else n2

# Itérer de 1 jusqu'à min+1.
for i in range(1, min+1):
    # Vérifier si n1 et n2 sont divisibles par i.
    if (n1 % i == 0 and n2 % i == 0):
        # Mettre à jour le PGCD avec la valeur actuelle de i
        pgcd = i
		
print("PGCD de {0} et {1} = {2}".format(n1, n2, pgcd))

Explication:

Dans ce programme, deux nombres entiers entrés par l'utilisateur sont stockés dans les variables n1 et n2. Ensuite, nous utilisons if-else pour rechercher la plus petite valeur entre n1 et n2 et affecter le résultat à une variable appelée min (le diviseur).

Dans la boucle for a chaque itération, si n1 et n2 sont exactement divisibles par i, c'est-à-dire si le reste est égal à zéro pour n1 et n2, nous savons que le diviseur actuel est le PGCD. La valeur de i est affectée à la variable "pgcd".

Lorsque la boucle for est terminée, le plus grand diviseur commun de deux nombres est stocké dans la variable "pgcd".

 

Exercice 21:

Écrire un programme en Python qui calcule les nombres de Fibonacci jusqu'à 50.

Exemple de sortie:

Fibonacci jusqu'à 50: 1  1  2  3  5  8  13  21  34
# Définit le nombre de termes de la suite de Fibonacci à afficher
limit = 8

# Initialise le premier élément de la suite
n1 = 0

# Initialise le deuxième élément de la suite
n2 = 1

# Initialise le prochain élément avec la valeur de n2
next = n2

# Initialise le compteur à 1
count = 1

# Affiche un titre avant les nombres de Fibonacci
print("Fibonacci jusqu'à 50:")

# Répète la boucle jusqu'à afficher 8 termes
while count <= limit:

    # Affiche le terme actuel sans passer à la ligne
    print(next, end=" ")

    # Augmente le compteur de 1
    count += 1

    # Décale les valeurs :
    # n1 prend la valeur de n2
    # n2 prend la valeur du terme actuel
    n1, n2 = n2, next

    # Calcule le terme suivant de la suite
    next = n1 + n2

# Passe à la ligne après l'affichage des termes
print()

La série de Fibonacci est une suite de nombres où chaque nombre est la somme des deux nombres précédents.

 

Exercice 22:

Écrire un programme en Python qui inverse une chaîne de caractères en utilisant une boucle while.

Exemple de sortie:

Chaîne originale: WayToLearnX
Chaîne inversée: XnraeLoTyaW
Solution:

# Définit la chaîne de caractères à inverser
chaine = "WayToLearnX"

# Initialise une chaîne vide qui contiendra la chaîne inversée
chaine_inverse = ""

# Commence par le dernier caractère de la chaîne
# len(chaine) - 1 correspond à l'indice du dernier caractère
i = len(chaine) - 1

# Parcourt la chaîne de la fin vers le début
while i >= 0:

    # Ajoute le caractère situé à l'indice i
    # à la chaîne inversée
    chaine_inverse += chaine[i]

    # Passe au caractère précédent
    i -= 1

# Affiche la chaîne originale
print(f"Chaîne originale : {chaine}")

# Affiche la chaîne inversée
print(f"Chaîne inversée : {chaine_inverse}")

Explication:

  • On initialise une variable chaine_inverse comme une chaîne vide pour y stocker la chaîne inversée.
  • Une boucle while est utilisée pour parcourir la chaîne à l'envers (de la fin vers le début).
  • À chaque itération, on ajoute le caractère actuel à chaine_inverse.
  • Le programme continue jusqu'à ce que tous les caractères soient ajoutés dans l'ordre inverse.
 

Exercice 23:

Écrivez un programme Python pour afficher la valeur ascii d’un caractère donné.

Exemple de sortie:

Entrez un caractère : A
La valeur ASCII du caractère 'A' est : 65
Solution:

# Demande à l'utilisateur de saisir un caractère
caractere = input("Entrez un caractère : ")

# Convertit le caractère en sa valeur ASCII
# La fonction ord() retourne le code numérique du caractère
valeur_ascii = ord(caractere)

# Affiche le caractère ainsi que sa valeur ASCII
print(f"La valeur ASCII du caractère '{caractere}' est : {valeur_ascii}")

Explication:

  • La fonction input() permet à l'utilisateur d'entrer un caractère.
  • La fonction ord() retourne la valeur ASCII du caractère donné.
  • Le programme affiche ensuite cette valeur.
 

Exercice 24:

Écrire un programme en Python qui vérifie si une chaîne est un palindrome. Un palindrome est un mot qui s’écrit de la même manière après l’inversion de ce dernier. ‘ada’ est un palindrome.

Exemple de sortie:

Entrez une chaîne de caractères : 
radar
La chaîne est un palindrome.
Solution:

chaine = input("Entrez une chaîne de caractères : ")

# On supprime les espaces et convertit tout en minuscules pour ignorer la casse
chaine = chaine.replace(" ", "").lower()

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

Explication:

  • On utilise input() pour demander à l'utilisateur d'entrer une chaîne.
  • La méthode replace() permet de supprimer les espaces pour que les phrases avec espaces puissent être vérifiées.
  • La méthode lower() convertit tous les caractères en minuscules afin d'ignorer la casse (les majuscules et minuscules sont traitées de manière égale).
  • Ensuite, on compare la chaîne originale à son inverse (chaine[::-1]), et si elles sont identiques, la chaîne est un palindrome.
  • Le programme affiche ensuite le résultat.
 

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


 
qcm-python

Laisser un commentaire

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