1.
Calculatrice basique
● Description : Créer une calculatrice simple avec des opérations de base : addition,
soustraction, multiplication et division.
Solution :
python
Copier
def addition(x, y):
return x + y
def soustraction(x, y):
return x - y
def multiplication(x, y):
return x * y
def division(x, y):
if y != 0:
return x / y
else:
return "Erreur: Division par zéro"
while True:
print("Choisissez une opération:")
print("1. Addition")
print("2. Soustraction")
print("3. Multiplication")
print("4. Division")
print("5. Quitter")
choix = input("Entrez le numéro de l'opération: ")
if choix == '5':
break
x = float(input("Entrez le premier nombre: "))
y = float(input("Entrez le deuxième nombre: "))
if choix == '1':
print(f"{x} + {y} = {addition(x, y)}")
elif choix == '2':
print(f"{x} - {y} = {soustraction(x, y)}")
elif choix == '3':
print(f"{x} * {y} = {multiplication(x, y)}")
elif choix == '4':
print(f"{x} / {y} = {division(x, y)}")
else:
print("Choix invalide")
●
2. Jeu de devinette de nombre
● Description : Le programme génère un nombre aléatoire, et l'utilisateur doit deviner
ce nombre. Après chaque essai, le programme indique si le nombre est trop grand
ou trop petit.
Solution :
python
Copier
import random
def jeu_devinette():
nombre_secret = [Link](1, 100)
tentative = 0
print("Bienvenue dans le jeu de devinette !")
print("Devinez le nombre entre 1 et 100.")
while True:
essai = int(input("Entrez votre essai: "))
tentative += 1
if essai < nombre_secret:
print("Trop petit !")
elif essai > nombre_secret:
print("Trop grand !")
else:
print(f"Félicitations ! Vous avez trouvé le nombre en
{tentative} tentatives.")
break
jeu_devinette()
●
3. Convertisseur d'unités (exemple: mètres en kilomètres)
● Description : Créer un programme permettant de convertir des unités, comme les
mètres en kilomètres, ou les Celsius en Fahrenheit.
Solution :
python
Copier
def convertisseur():
print("Convertisseur d'unités")
print("1. Mètres en Kilomètres")
print("2. Celsius en Fahrenheit")
choix = input("Choisissez l'option (1 ou 2): ")
if choix == '1':
metres = float(input("Entrez la valeur en mètres: "))
print(f"{metres} mètres = {metres / 1000} kilomètres")
elif choix == '2':
celsius = float(input("Entrez la température en Celsius: "))
print(f"{celsius}°C = {(celsius * 9/5) + 32}°F")
else:
print("Choix invalide")
convertisseur()
●
4. Compteur de mots dans une phrase
● Description : Demander à l'utilisateur de saisir une phrase, puis afficher le nombre
de mots dans cette phrase.
Solution :
python
Copier
def compter_mots():
phrase = input("Entrez une phrase: ")
mots = [Link]()
print(f"Le nombre de mots dans votre phrase est: {len(mots)}")
compter_mots()
●
5. Créer une todo list (liste de tâches)
● Description : Créer une application simple de gestion de tâches où l'utilisateur peut
ajouter, supprimer et afficher des tâches.
Solution :
python
Copier
def afficher_taches(taches):
if taches:
print("Liste des tâches:")
for tache in taches:
print(f"- {tache}")
else:
print("Aucune tâche à afficher.")
def todo_list():
taches = []
while True:
print("1. Ajouter une tâche")
print("2. Supprimer une tâche")
print("3. Afficher les tâches")
print("4. Quitter")
choix = input("Entrez votre choix: ")
if choix == '1':
tache = input("Entrez la tâche à ajouter: ")
[Link](tache)
elif choix == '2':
afficher_taches(taches)
tache_a_supprimer = input("Entrez la tâche à supprimer:
")
if tache_a_supprimer in taches:
[Link](tache_a_supprimer)
else:
print("Tâche non trouvée.")
elif choix == '3':
afficher_taches(taches)
elif choix == '4':
break
else:
print("Choix invalide")
● todo_list()
6. Palindrome Checker (Vérificateur de palindrome)
Description :
Un palindrome est un mot ou une phrase qui se lit de la même manière
dans les deux sens (par exemple, "radar", "level"). Ce projet
consiste à vérifier si un mot ou une phrase donnée est un
palindrome.
Solution :
python
Copier
● def est_palindrome(chaine):
● # Supprimer les espaces et convertir en minuscule pour que
la vérification soit insensible à la casse
● chaine = [Link](" ", "").lower()
●
● # Comparer la chaîne originale avec sa version inversée
● if chaine == chaine[::-1]:
● return True
● return False
●
● # Demander à l'utilisateur de saisir une chaîne
● phrase = input("Entrez un mot ou une phrase pour vérifier s'il
est un palindrome: ")
●
● if est_palindrome(phrase):
● print(f"'{phrase}' est un palindrome.")
● else:
● print(f"'{phrase}' n'est pas un palindrome.")
Explication :
1.Nettoyage de la chaîne : On commence par enlever les espaces
et convertir tous les caractères en minuscules pour garantir
une vérification correcte, peu importe la casse ou les
espaces.
2.Inversion de la chaîne : Ensuite, on inverse la chaîne
(chaine[::-1]) et on la compare avec l'originale. Si elles
sont identiques, c'est un palindrome.
7. Compteur de lettres dans une chaîne
Description :
Ce projet consiste à compter le nombre de fois que chaque lettre
apparaît dans une chaîne de texte donnée.
Solution :
python
Copier
● from collections import Counter
●
● def compter_lettres(chaine):
● # Utiliser Counter pour compter la fréquence des lettres
● return Counter(chaine)
●
● # Demander une chaîne à l'utilisateur
● texte = input("Entrez une chaîne de texte: ")
●
● # Compter les lettres et afficher les résultats
● compte = compter_lettres(texte)
● print("Fréquence des lettres :")
● for lettre, freq in [Link]():
● print(f"'{lettre}': {freq}")
Explication :
1.Utilisation de Counter : La classe Counter du module
collections est très pratique pour compter les occurrences des
éléments dans un itérable.
2.Affichage des fréquences : On itère sur les éléments du
dictionnaire retourné par Counter et on affiche le nombre
d'occurrences de chaque lettre.
8. Générateur de mot de passe aléatoire
Description :
Ce projet génère un mot de passe aléatoire qui contient des lettres
majuscules, des lettres minuscules, des chiffres et des symboles. Il
permet à l'utilisateur de spécifier la longueur du mot de passe.
Solution :
python
Copier
● import random
● import string
●
● def generer_mot_de_passe(longueur):
● # Définir les caractères possibles : majuscules,
minuscules, chiffres et symboles
● caracteres = string.ascii_letters + [Link] +
[Link]
● mot_de_passe = ''.join([Link](caracteres) for _ in
range(longueur))
● return mot_de_passe
●
● # Demander à l'utilisateur la longueur du mot de passe
● longueur = int(input("Entrez la longueur du mot de passe: "))
●
● # Générer et afficher le mot de passe
● mot_de_passe = generer_mot_de_passe(longueur)
● print(f"Votre mot de passe généré est: {mot_de_passe}")
Explication :
1.Utilisation de string : Le module string fournit des ensembles
prédéfinis de caractères comme les lettres (majuscules et
minuscules), les chiffres et les symboles de ponctuation.
2.Génération aléatoire : Le mot de passe est généré en
choisissant aléatoirement des caractères parmi ces ensembles
pour la longueur spécifiée.
9. Convertisseur de devises
Description :
Créer un programme pour convertir des devises, par exemple, de l'USD
vers l'EURO. On peut demander à l'utilisateur d'entrer la devise et
la valeur, puis effectuer la conversion en utilisant un taux de
change prédéfini.
Solution :
python
Copier
● def convertir_devises(montant, taux):
● return montant * taux
●
● # Taux de change (exemple fictif)
● taux_usd_to_euro = 0.91
●
● # Demander à l'utilisateur d'entrer les informations
● montant_usd = float(input("Entrez le montant en USD: "))
● montant_euro = convertir_devises(montant_usd,
taux_usd_to_euro)
●
● print(f"{montant_usd} USD est équivalent à {montant_euro:.2f}
EUR")
Explication :
1.Conversion : Le programme prend un montant en USD et le
multiplie par un taux de change fixe pour obtenir l'équivalent
en EUR.
2.Utilisation de la fonction : La fonction convertir_devises
effectue le calcul de la conversion.
10. Affichage d'un calendrier mensuel
Description :
Ce projet permet d'afficher un calendrier pour un mois donné. On
peut saisir l'année et le mois, et le programme affichera le
calendrier sous forme textuelle.
Solution :
python
Copier
● import calendar
●
● def afficher_calendrier(annee, mois):
● # Utiliser la fonction TextCalendar pour afficher le
calendrier
● cal = [Link]([Link])
● return [Link](annee, mois)
●
● # Demander l'année et le mois à l'utilisateur
● annee = int(input("Entrez l'année (ex: 2025): "))
● mois = int(input("Entrez le mois (1-12): "))
●
● # Afficher le calendrier
● print(afficher_calendrier(annee, mois))
Explication :
1.Module calendar : Ce module permet de générer des calendriers
sous différentes formes (texte, HTML, etc.).
2.Affichage sous forme textuelle : La méthode month() génère un
calendrier pour un mois et une année donnés. On choisit de
commencer la semaine par dimanche ([Link]).
11. Calcul de la factorielle d'un nombre
Description :
Calculer la factorielle d'un nombre donné par l'utilisateur. La
factorielle d'un nombre n est le produit des entiers de 1 à n.
Solution :
python
Copier
● def factorielle(n):
● if n == 0 or n == 1:
● return 1
● else:
● return n * factorielle(n-1)
●
● # Demander à l'utilisateur de saisir un nombre
● nombre = int(input("Entrez un nombre pour calculer sa
factorielle: "))
●
● # Afficher la factorielle
● print(f"La factorielle de {nombre} est {factorielle(nombre)}")
Explication :
1.Récursion : La fonction factorielle utilise la récursion pour
calculer la factorielle. Elle appelle la fonction sur n-1
jusqu'à ce que n soit égal à 1.
2.Condition de base : Si n est égal à 0 ou 1, la factorielle est
1, sinon on multiplie n par la factorielle de n-1.
●