0% ont trouvé ce document utile (0 vote)
55 vues10 pages

Mini projets Python simples

Le document présente une série de projets Python simples, incluant une calculatrice, un jeu de devinette, un convertisseur d'unités, un compteur de mots, une todo list, un vérificateur de palindrome, un compteur de lettres, un générateur de mot de passe, un convertisseur de devises, un affichage de calendrier, et un calcul de factorielle. Chaque projet est accompagné d'une description et d'une solution en code Python. Ces projets visent à illustrer des concepts de programmation de base et à fournir des exemples pratiques d'utilisation de Python.

Transféré par

bouziani.hwau
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
55 vues10 pages

Mini projets Python simples

Le document présente une série de projets Python simples, incluant une calculatrice, un jeu de devinette, un convertisseur d'unités, un compteur de mots, une todo list, un vérificateur de palindrome, un compteur de lettres, un générateur de mot de passe, un convertisseur de devises, un affichage de calendrier, et un calcul de factorielle. Chaque projet est accompagné d'une description et d'une solution en code Python. Ces projets visent à illustrer des concepts de programmation de base et à fournir des exemples pratiques d'utilisation de Python.

Transféré par

bouziani.hwau
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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.
●​

Vous aimerez peut-être aussi