Projets Pratiques Python
C'est l'heure de mettre en pratique tout ce que tu as appris ! 5 projets complets qui combinent variables, conditions, boucles, fonctions et fichiers. Chaque projet est un defi realiste que tu pourras adapter a tes propres idees !
Objectifs du cours
- Appliquer toutes les notions apprises dans des projets concrets
- Developper une methodologie de resolution de problemes
- Creer des programmes interactifs avec input()
- Structurer son code avec des fonctions
- Gerer les erreurs utilisateur de maniere elegante
Erreurs courantes a eviter
- Se lancer dans le code sans planifier la structure
- Ne pas tester les cas limites (valeurs extremes, erreurs)
- Oublier de valider les entrees utilisateur
- Ecrire tout dans une seule fonction geante
**Objectif**
Creer une calculatrice qui : - Demande deux nombres a l'utilisateur - Propose plusieurs operations (+, -, *, /, **, %) - Affiche le resultat - Gere les erreurs (division par zero, saisie invalide) - Permet de faire plusieurs calculs
**Concepts utilises :** - Variables et types (int, float) - Input et conversion - Conditions if/elif/else - Boucle while - Gestion d'erreurs try/except
**Etapes de developpement :** 1. Creer une fonction pour chaque operation 2. Creer un menu de selection 3. Demander les nombres 4. Effectuer le calcul 5. Proposer de recommencer
# PROJET 1 : Calculatrice Interactive
def addition(a, b):
return a + b
def soustraction(a, b):
return a - b
def multiplication(a, b):
return a * b
def division(a, b):
if b == 0:
return "Erreur: Division par zero impossible !"
return a / b
def puissance(a, b):
return a ** b
def modulo(a, b):
if b == 0:
return "Erreur: Modulo par zero impossible !"
return a % b
def afficher_menu():
print("\n" + "="*40)
print(" CALCULATRICE PYTHON")
print("="*40)
print("1. Addition (+)")
print("2. Soustraction (-)")
print("3. Multiplication (*)")
print("4. Division (/)")
print("5. Puissance (**)")
print("6. Modulo (%)")
print("0. Quitter")
print("="*40)
def obtenir_nombre(message):
"""Demande un nombre a l'utilisateur avec validation"""
while True:
try:
return float(input(message))
except ValueError:
print("Erreur: Veuillez entrer un nombre valide !")
def calculer():
"""Fonction principale de la calculatrice"""
operations = {
"1": ("Addition", addition),
"2": ("Soustraction", soustraction),
"3": ("Multiplication", multiplication),
"4": ("Division", division),
"5": ("Puissance", puissance),
"6": ("Modulo", modulo)
}
continuer = True
while continuer:
afficher_menu()
choix = input("\nVotre choix (0-6) : ")
if choix == "0":
print("\nMerci d'avoir utilise la calculatrice !")
continuer = False
elif choix in operations:
nom, fonction = operations[choix]
print(f"\n--- {nom} ---")
a = obtenir_nombre("Premier nombre : ")
b = obtenir_nombre("Deuxieme nombre : ")
resultat = fonction(a, b)
print(f"\nResultat : {a} {nom.lower()} {b} = {resultat}")
else:
print("Choix invalide ! Veuillez reessayer.")
# Lancement de la calculatrice
# calculer() # Decommente pour tester !
# Demo avec valeurs predefinies
print("=== DEMO CALCULATRICE ===")
print(f"5 + 3 = {addition(5, 3)}")
print(f"10 - 4 = {soustraction(10, 4)}")
print(f"6 * 7 = {multiplication(6, 7)}")
print(f"15 / 4 = {division(15, 4)}")
print(f"2 ** 8 = {puissance(2, 8)}")
print(f"17 % 5 = {modulo(17, 5)}")Quiz de validation
1. Quelle est la premiere etape pour creer un projet ?
2. Pourquoi utiliser des fonctions dans un projet ?
3. Que tester en priorite dans un programme ?
4. Comment gerer une entree utilisateur invalide ?
5. Quel est l'avantage de sauvegarder dans un fichier ?
