Contactez-nous

Exemple concret : vérifier si un nombre est pair ou impair

Apprenez à écrire un script Python qui demande un nombre à l'utilisateur et détermine s'il est pair ou impair, en utilisant `input()`, `int()`, `%` et `if/else`.

Problème : déterminer la parité d'un nombre entier

Un exercice classique pour illustrer l'utilisation des structures conditionnelles `if/else` et des opérations arithmétiques de base est de déterminer si un nombre entier donné est pair ou impair. Ce problème simple nous permet de combiner plusieurs concepts que nous avons vus jusqu'à présent : la saisie utilisateur, la conversion de type, l'opérateur modulo, et la prise de décision.

Rappel mathématique : un nombre entier est considéré comme pair s'il est divisible par 2 sans reste. Dans le cas contraire, il est impair. Par exemple, 4, 10, -2 sont pairs, tandis que 3, 7, -5 sont impairs.

Notre objectif est de créer un programme Python qui :

  1. Demande à l'utilisateur d'entrer un nombre entier.
  2. Vérifie si ce nombre est pair ou impair.
  3. Affiche un message approprié indiquant le résultat.

Etape 1 : obtenir et convertir l'entrée utilisateur

La première étape consiste à interagir avec l'utilisateur pour obtenir le nombre qu'il souhaite vérifier. Nous utiliserons la fonction `input()` pour cela, en fournissant une invite claire. Comme `input()` retourne une chaîne de caractères, et que nous avons besoin d'un nombre entier pour effectuer des calculs mathématiques, nous devrons convertir cette chaîne en `int` à l'aide de la fonction `int()`.

# Demander à l'utilisateur d'entrer un nombre
chaine_nombre = input("Veuillez entrer un nombre entier : ")

# Essayer de convertir l'entrée en nombre entier
# Nous allons pour l'instant supposer que l'utilisateur entre un entier valide.
# La gestion des erreurs (try-except) sera abordée plus en détail ultérieurement.
nombre_utilisateur = int(chaine_nombre)

Pour un programme plus robuste, il faudrait ici inclure un bloc `try-except` pour gérer le cas où l'utilisateur n'entre pas un nombre entier valide. Pour cet exemple de base, nous simplifions en supposant une entrée correcte. Après cette étape, `nombre_utilisateur` devrait contenir la valeur entière saisie.

Etape 2 : utiliser l'opérateur modulo (%) pour vérifier la parité

Pour déterminer si un nombre est pair ou impair, l'opérateur arithmétique clé est l'opérateur modulo (`%`). Cet opérateur retourne le reste d'une division entière. Si un nombre `N` est divisible par 2, alors `N % 2` sera égal à 0. Si `N % 2` est égal à 1 (ou -1 pour les nombres négatifs impairs, bien que `abs(N % 2) == 1` soit plus général), alors le nombre est impair.

Nous allons donc calculer `nombre_utilisateur % 2` et utiliser ce résultat dans notre condition `if`.

# Vérifier la parité en utilisant l'opérateur modulo
reste_division_par_2 = nombre_utilisateur % 2
La variable `reste_division_par_2` contiendra `0` si `nombre_utilisateur` est pair, et une autre valeur (typiquement `1` pour les positifs) s'il est impair.

Etape 3 : prendre une décision avec `if/else` et afficher le résultat

Maintenant que nous avons le reste de la division par 2, nous pouvons utiliser une structure `if/else` pour afficher le message approprié. Si le reste est 0, le nombre est pair. Sinon, il est impair.

if reste_division_par_2 == 0:
    # Le bloc de code exécuté si le nombre est pair
    print(f"Le nombre {nombre_utilisateur} est PAIR.")
else:
    # Le bloc de code exécuté si le nombre est impair
    print(f"Le nombre {nombre_utilisateur} est IMPAIR.")
L'utilisation de f-strings permet d'inclure dynamiquement la valeur du nombre entré par l'utilisateur dans le message de sortie, rendant le feedback plus clair.

Le code complet du programme ressemble donc à ceci :

# Programme pour vérifier si un nombre est pair ou impair

# Etape 1: Obtenir et convertir l'entrée utilisateur
chaine_nombre = input("Veuillez entrer un nombre entier : ")
# Pour simplifier, on suppose une entrée valide.
# Idéalement, il faudrait un try-except ici.
nombre_utilisateur = int(chaine_nombre)

# Etape 2: Utiliser l'opérateur modulo (%) pour vérifier la parité
# (On peut le faire directement dans la condition if aussi)

# Etape 3: Prendre une décision avec if/else et afficher le résultat
if nombre_utilisateur % 2 == 0:
    print(f"Le nombre {nombre_utilisateur} est PAIR.")
else:
    print(f"Le nombre {nombre_utilisateur} est IMPAIR.")

print("Fin de la vérification.")
Si l'utilisateur entre `42`, le programme affichera "Le nombre 42 est PAIR.". S'il entre `17`, il affichera "Le nombre 17 est IMPAIR.". Cet exemple illustre bien comment combiner plusieurs petites briques logiques pour résoudre un problème spécifique.