Python est un langage de programmation puissant et polyvalent qui offre de nombreuses fonctionnalités pour travailler avec des nombres, y compris la possibilité de déterminer si un nombre est pair ou impair. Dans cet article, nous allons explorer plusieurs exercices corrigés et applications pratiques de la vérification de la parité en Python.
Lire le cours complet : Pair Impair en Python – Guide Complet
Le premier exercice consiste à écrire une fonction simple en Python pour déterminer si un nombre donné est pair ou impair. Voici une solution possible :
def est_pair_ou_impair(nombre):
if nombre % 2 == 0:
return "pair"
else:
return "impair"
Vous pouvez utiliser cette fonction en passant un nombre en argument, et elle vous retournera “pair” ou “impair” en fonction de la parité du nombre.
Supposons que vous ayez une liste de nombres et que vous souhaitiez trouver tous les nombres pairs ou impairs de cette liste. Voici comment vous pourriez le faire en Python :
def trouver_pairs_impairs(liste):
pairs = []
impairs = []
for nombre in liste:
if nombre % 2 == 0:
pairs.append(nombre)
else:
impairs.append(nombre)
return pairs, impairs
Cette fonction prend une liste de nombres en entrée et renvoie deux listes distinctes, l’une contenant tous les nombres pairs et l’autre contenant tous les nombres impairs.
Supposons que vous ayez un programme qui effectue un certain nombre d’itérations, et vous souhaitez vérifier si le nombre d’itérations est pair ou impair. Vous pouvez utiliser la fonction est_pair_ou_impair
que nous avons définie précédemment pour cela.
nombre_iterations = 10
if est_pair_ou_impair(nombre_iterations) == "pair":
print("Le nombre d'itérations est pair.")
else:
print("Le nombre d'itérations est impair.")
Imaginez que vous ayez une liste de nombres et que vous souhaitiez filtrer cette liste pour n’inclure que les nombres pairs. Vous pouvez utiliser la fonction trouver_pairs_impairs
que nous avons définie précédemment.
liste_de_nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
pairs, impairs = trouver_pairs_impairs(liste_de_nombres)
print("Nombres pairs :", pairs)
Cette application vous permet de séparer facilement les nombres pairs des nombres impairs dans une liste donnée.
Écrivez une fonction qui prend un nombre entier positif en entrée et retourne True s’il a une parité paire en notation binaire et False sinon.
Écrivez une fonction qui prend une liste de nombres en entrée et renvoie deux listes : une contenant les nombres pairs et l’autre contenant les nombres impairs, tout en conservant l’ordre initial des éléments.
Écrivez une fonction qui prend une liste de nombres en entrée et renvoie la somme des nombres pairs élevés au carré.
Séquence de Fibonacci avec parité
Écrivez une fonction qui génère les n premiers termes de la séquence de Fibonacci, mais seulement les termes qui sont impairs.
Série de Taylor
Implémentez la série de Taylor pour calculer la fonction exponentielle ( e^x ), mais en utilisant uniquement des termes avec une parité spécifique (par exemple, alternant entre nombres pairs et impairs).
Modélisation de jeu de plateau
Créez une classe Python pour modéliser un jeu de plateau dans lequel les joueurs déplacent un pion sur une grille de taille variable. Limitez les mouvements du pion en fonction de sa parité actuelle.
Optimisation d’algorithme
Améliorez un algorithme existant (par exemple, un algorithme de tri ou de recherche) en exploitant la parité des éléments pour réduire la complexité temporelle ou spatiale.
Énigmes mathématiques
Concevez des énigmes mathématiques qui nécessitent la manipulation de nombres pairs et impairs pour être résolues.
Développement de jeux
Créez un petit jeu (par exemple, un jeu de devinettes ou un jeu de logique) qui repose sur des mécanismes de jeu basés sur la parité des nombres.
Analyse de données
Utilisez des données réelles et effectuez une analyse exploratoire en mettant en évidence des tendances ou des patterns basés sur la parité des valeurs.
D’accord, nous allons résoudre quelques-uns de ces exercices avec du code Python.
def parite_binaire(nombre):
binaire = bin(nombre)[2:] # Convertir en binaire et ignorer le préfixe '0b'
nb_uns = binaire.count('1')
return nb_uns % 2 == 0 # True si le nombre de '1' est pair, False sinon
# Exemple d'utilisation
print(parite_binaire(10)) # Output: True
print(parite_binaire(15)) # Output: False
def separer_pairs_impairs(liste):
pairs = [x for x in liste if x % 2 == 0]
impairs = [x for x in liste if x % 2 != 0]
return pairs, impairs
# Exemple d'utilisation
liste_nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
pairs, impairs = separer_pairs_impairs(liste_nombres)
print("Pairs:", pairs) # Output: [2, 4, 6, 8, 10]
print("Impairs:", impairs) # Output: [1, 3, 5, 7, 9]
def somme_pairs_carres(liste):
somme = sum(x ** 2 for x in liste if x % 2 == 0)
return somme
# Exemple d'utilisation
liste_nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
resultat = somme_pairs_carres(liste_nombres)
print("Somme des carrés des nombres pairs:", resultat) # Output: 220
Ces exemples illustrent comment résoudre certains des exercices avancés en utilisant du code Python.
D’accord, continuons avec la résolution des autres exercices :
def fibonacci_impairs(n):
fib = [1, 1]
while len(fib) < n:
next_term = fib[-1] + fib[-2]
if next_term % 2 != 0:
fib.append(next_term)
else:
fib.append(next_term + 1) # Si le prochain terme est pair, on lui ajoute 1 pour le rendre impair
return fib
# Exemple d'utilisation
n = 10
sequence = fibonacci_impairs(n)
print("Les", n, "premiers termes de la séquence de Fibonacci impairs sont:", sequence)
import math
def taylor_exponentielle(x, n):
resultat = 0
for i in range(n):
terme = ((-1) ** i) * (x ** (2 * i)) / math.factorial(2 * i)
resultat += terme
return resultat
# Exemple d'utilisation
x = 2
n = 5
approximation = taylor_exponentielle(x, n)
print("Approximation de e^{} avec {} termes de la série de Taylor:", x, n, approximation)
class JeuDePlateau:
def __init__(self, taille_plateau):
self.taille_plateau = taille_plateau
self.position = 0 # Position initiale du pion
def deplacer(self, deplacement):
nouvelle_position = self.position + deplacement
if nouvelle_position % 2 == self.position % 2: # Vérifier la parité pour limiter les mouvements
self.position = nouvelle_position
# Exemple d'utilisation
jeu = JeuDePlateau(10)
jeu.deplacer(3) # Le pion se déplace de 3 cases (la position reste inchangée car la parité est la même)
print("Position du pion après déplacement:", jeu.position)
Supposons que nous devons rechercher un élément dans un tableau trié. Plutôt que d’utiliser la recherche binaire classique, nous pouvons exploiter la parité des éléments dans le tableau pour réduire le nombre d’itérations nécessaires. Voici un exemple d’algorithme de recherche binaire optimisé pour les tableaux contenant des nombres pairs :
def recherche_binaire_pairs(tab, element):
debut = 0
fin = len(tab) - 1
while debut <= fin:
milieu = (debut + fin) // 2
if tab[milieu] % 2 == 0:
if tab[milieu] == element:
return True
elif tab[milieu] < element:
debut = milieu + 1
else:
fin = milieu - 1
else:
fin = milieu - 1
return False
# Exemple d'utilisation
tableau = [1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
element_recherche = 10
print(recherche_binaire_pairs(tableau, element_recherche)) # Output: True
Concevons une énigme mathématique :
“Trouvez le prochain nombre impair dans la séquence : 6, 9, 12, 15, 18, …”.
def prochain_impair(sequence):
for nombre in sequence:
if nombre % 2 != 0:
return nombre + 3 # Le prochain impair dans la séquence est obtenu en ajoutant 3 au nombre impair actuel
# Exemple d'utilisation
sequence = [6, 9, 12, 15, 18]
print("Le prochain nombre impair dans la séquence est:", prochain_impair(sequence)) # Output: 21
Créons un petit jeu où les joueurs doivent deviner si le nombre suivant dans une séquence est pair ou impair, en fonction des nombres précédents de la séquence.
def deviner_parite_suivant(sequence):
for i in range(len(sequence) - 1):
if sequence[i + 1] % 2 == 0 and sequence[i] % 2 == 0:
resultat = "pair"
elif sequence[i + 1] % 2 != 0 and sequence[i] % 2 != 0:
resultat = "impair"
else:
resultat = "indéterminé"
break
return resultat
# Exemple d'utilisation
sequence = [2, 4, 6, 8, 10]
resultat = deviner_parite_suivant(sequence)
print("Le prochain nombre dans la séquence est:", resultat) # Output: pair
Utilisons un ensemble de données fictif pour effectuer une analyse exploratoire en mettant en évidence des tendances basées sur la parité des valeurs.
donnees_ventes = [120, 150, 130, 200, 180, 190, 160, 170, 140, 210]
# Séparation des ventes en ventes de produits pairs et impairs
ventes_pairs = [vente for vente in donnees_ventes if vente % 2 == 0]
ventes_impairs = [vente for vente in donnees_ventes if vente % 2 != 0]
# Calcul des moyennes de ventes pour chaque catégorie
moyenne_ventes_pairs = sum(ventes_pairs) / len(ventes_pairs)
moyenne_ventes_impairs = sum(ventes_impairs) / len(ventes_impairs)
# Affichage des résultats
print("Moyenne des ventes pour les produits pairs:", moyenne_ventes_pairs)
print("Moyenne des ventes pour les produits impairs:", moyenne_ventes_impairs)
Ces solutions résolvent les exercices de 8 à 10 en utilisant du code Python. Si vous avez d’autres questions ou si vous avez besoin de plus de détails, n’hésitez pas à demander !
Python offre des fonctionnalités simples et puissantes pour travailler avec des nombres et vérifier leur parité. Les exercices corrigés et les applications pratiques présentés dans cet article vous montrent comment utiliser ces fonctionnalités pour résoudre divers problèmes. Que vous travailliez sur des projets de programmation ou que vous recherchiez des moyens d’optimiser vos tâches de traitement des données, la manipulation de la parité des nombres en Python peut s’avérer très utile.
Voici une série d’exercices conçus pour perfectionner vos compétences Excel. Les corrigés sont inclus pour…
Excel offre plusieurs méthodes pour calculer une moyenne tout en tenant compte des filtres ou…
Excel propose plusieurs fonctions pour insérer ou manipuler la date actuelle. Voici les principales méthodes…
Lorsque des nombres sont stockés sous forme de texte dans Excel, ils ne peuvent pas…
Extraire uniquement les chiffres d'une cellule contenant du texte et des nombres mélangés est une…
Pour supprimer plusieurs caractères spécifiques (par exemple, des symboles, chiffres ou lettres indésirables) dans des…
This website uses cookies.