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

Cours Complet de Python

Ce document est un cours complet de Python, allant des bases aux concepts avancés, incluant la programmation, l'algorithmique, l'analyse de données et des projets pratiques. Il couvre des sujets tels que les variables, les structures de données, la programmation orientée objet, ainsi que des bibliothèques comme NumPy et Pandas. Le cours est structuré avec des exercices progressifs et un projet final sur la gestion d'étudiants.

Transféré par

augustinpassizi
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)
0 vues20 pages

Cours Complet de Python

Ce document est un cours complet de Python, allant des bases aux concepts avancés, incluant la programmation, l'algorithmique, l'analyse de données et des projets pratiques. Il couvre des sujets tels que les variables, les structures de données, la programmation orientée objet, ainsi que des bibliothèques comme NumPy et Pandas. Le cours est structuré avec des exercices progressifs et un projet final sur la gestion d'étudiants.

Transféré par

augustinpassizi
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

COURS COMPLET DE PYTHON

De débutant à intermédiaire/avancé

Programmation • Algorithmique • Analyse de données • Projets pratiques

Support pédagogique en français

Sommaire
1. Découvrir Python

2. Variables, types et opérateurs

3. Entrées, sorties et chaînes de caractères

4. Conditions et logique

5. Boucles et répétitions

6. Listes, tuples, ensembles et dictionnaires

7. Fonctions

8. Modules, packages et environnement

9. Gestion des erreurs

10. Fichiers et formats de données

11. Programmation orientée objet

12. Algorithmes et structures de données

13. Python pour les mathématiques avec SymPy

14. Calcul scientifique avec NumPy

15. Analyse de données avec Pandas

16. Visualisation avec Matplotlib

17. Introduction aux bases de données et SQL

18. Automatisation et requêtes HTTP

19. Introduction au machine learning

20. Bonnes pratiques et organisation d'un projet

21. Projets pratiques

22. Série d'exercices progressifs

23. Corrigés des exercices

24. Projet final : gestion d'étudiants

Annexe A. Aide-mémoire Python

Annexe B. Glossaire

Introduction
Python est un langage de programmation généraliste réputé pour sa lisibilité, sa richesse d'écosystème et sa
polyvalence. Ce support commence par les notions fondamentales puis conduit progressivement vers la

Page 1
programmation structurée, la programmation orientée objet, l'analyse de données et quelques applications
scientifiques.

Objectifs du cours
• Comprendre la logique d'un programme Python.

• Écrire, tester et corriger des programmes simples puis structurés.

• Manipuler des données avec les principales structures Python.

• Créer des fonctions et organiser un programme en modules.

• Lire et écrire des fichiers de données.

• Découvrir NumPy, Pandas et Matplotlib.

• Acquérir les bases de l'analyse de données et du machine learning.

• Développer des projets complets en suivant de bonnes pratiques.

1. Découvrir Python
1.1 Qu'est-ce que Python ?
Python est un langage interprété, de haut niveau et à usage général. Sa syntaxe met l'accent sur la lisibilité. Il est
utilisé notamment pour l'automatisation, le web, la science des données, les mathématiques et l'intelligence
artificielle.
print("Bonjour Python !")

1.2 Premier programme


La fonction print affiche une information.
# Ceci est un commentaire
print("Bienvenue dans le cours.")

1.3 Commentaires
Un commentaire commence par # et n'est pas exécuté par Python.
if True:
print("Bloc indenté")

1.4 Indentation
L'indentation est une partie importante de la syntaxe Python. Elle délimite les blocs d'instructions.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

2. Variables, types et opérateurs


2.1 Variables
Une variable associe un nom à une valeur. Python détermine automatiquement le type de la valeur.
a = 10
b = 3
print(a + b)

Page 2
print(a / b)
print(a // b)
print(a % b)
print(a ** b)

2.2 Types principaux


Les types fondamentaux comprennent int, float, str, bool, ainsi que les collections list, tuple, set et dict.
age = int("20")
prix = float("12.5")
texte = str(125)
print(type(age), type(prix), type(texte))

2.3 Conversion de types


Les fonctions int(), float(), str() et bool() permettent certaines conversions.

2.4 Opérateurs
Les opérateurs arithmétiques comprennent +, -, *, /, //, %, **. Les comparaisons utilisent ==, !=, <, >, <= et >=.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

3. Entrées, sorties et chaînes de caractères


3.1 Entrée utilisateur
input() lit une valeur saisie au clavier. Le résultat est une chaîne de caractères.
nom = input("Votre nom : ")
print(f"Bonjour {nom} !")

3.2 f-strings
Les f-strings facilitent la construction de messages contenant des variables.
texte = " Python est puissant "
print([Link]())
print([Link]())
print([Link]("puissant", "polyvalent"))

3.3 Méthodes de chaînes


Les méthodes upper(), lower(), strip(), replace(), split() et join() sont très utiles.
mots = "un deux trois".split()
print(mots)
print("-".join(mots))

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

4. Conditions et logique

Page 3
4.1 if, elif, else
Les conditions permettent de choisir quelles instructions exécuter.
note = float(input("Note : "))
if note >= 16:
print("Très bien")
elif note >= 10:
print("Admis")
else:
print("Non admis")

4.2 Opérateurs logiques


and exige que les conditions soient vraies ensemble ; or accepte qu'au moins une soit vraie ; not inverse une
condition.
age = 20
inscrit = True
if age >= 18 and inscrit:
print("Condition satisfaite")

4.3 Expressions conditionnelles


Une valeur peut être choisie avec une expression conditionnelle courte.
age = 17
statut = "majeur" if age >= 18 else "mineur"
print(statut)

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

5. Boucles et répétitions
5.1 Boucle for
for parcourt une séquence ou une suite de valeurs.
for i in range(1, 6):
print(i)

5.2 range()
range permet de générer une suite d'entiers.
i = 1
while i <= 5:
print(i)
i += 1

5.3 Boucle while


while répète un bloc tant qu'une condition est vraie.
for n in range(1, 11):
if n == 5:
continue
print(n)

5.4 break et continue


break quitte une boucle ; continue passe à l'itération suivante.

Page 4
À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

6. Collections Python
6.1 Listes
Une liste est ordonnée et modifiable. Les méthodes append, extend, insert, remove, pop et sort sont courantes.
notes = [12, 15, 18, 10]
[Link](16)
[Link]()
print(notes)

6.2 Tuples
Un tuple est une séquence ordonnée généralement utilisée pour des données qui ne doivent pas être modifiées.
coord = (10, 20)
print(coord[0])

6.3 Ensembles
Un set stocke des éléments uniques et permet des opérations d'union, d'intersection et de différence.
A = {1, 2, 3}
B = {3, 4, 5}
print(A | B)
print(A & B)

6.4 Dictionnaires
Un dictionnaire associe des clés à des valeurs.
etudiant = {"nom": "Paul", "age": 20, "note": 15}
print(etudiant["nom"])
etudiant["ville"] = "Lome"

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

7. Fonctions
7.1 Définition
Une fonction regroupe des instructions réutilisables.
def addition(a, b):
return a + b

print(addition(4, 7))

7.2 Paramètres
Les fonctions peuvent recevoir des paramètres positionnels ou nommés.
def moyenne(notes):

Page 5
return sum(notes) / len(notes)

print(moyenne([10, 12, 18]))

7.3 Retour
return renvoie une valeur au programme appelant.
def saluer(nom, message="Bonjour"):
return f"{message}, {nom} !"

print(saluer("Awa"))

7.4 Portée des variables


Une variable créée dans une fonction est locale, sauf mécanismes spécifiques.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

8. Modules, packages et environnement


8.1 Importer un module
import permet d'utiliser du code provenant d'un module.
import math
print([Link](25))
print([Link])

8.2 Bibliothèque standard


Python fournit notamment math, random, datetime, pathlib, statistics et json.
import random
print([Link](1, 100)

8.3 Environnement virtuel


Un environnement virtuel isole les dépendances d'un projet.
from datetime import date
print([Link]())

8.4 pip
pip sert à installer des paquets Python disponibles sur l'index Python Package Index.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

9. Gestion des erreurs


9.1 Exceptions
Une exception signale une situation anormale pendant l'exécution.

Page 6
try:
x = int(input("Entier : "))
print(10 / x)
except ValueError:
print("Saisie invalide.")
except ZeroDivisionError:
print("Division par zéro.")

9.2 try/except
try contient le code susceptible de provoquer une exception et except permet de la traiter.
try:
fichier = open("[Link]", "r")
except FileNotFoundError:
print("Fichier introuvable.")
finally:
print("Fin de l opération.")

9.3 finally
finally s'exécute après le traitement, qu'une exception ait eu lieu ou non.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

10. Fichiers et formats de données


10.1 Lecture et écriture
open permet d'ouvrir un fichier. L'utilisation de with garantit sa fermeture correcte.
with open("[Link]", "w", encoding="utf-8") as f:
[Link]("Bonjour Python")

10.2 CSV
Le module csv permet de travailler avec des fichiers de données tabulaires.
with open("[Link]", "r", encoding="utf-8") as f:
contenu = [Link]()
print(contenu)

10.3 JSON
json permet de sérialiser et désérialiser des données structurées.
import json
data = {"nom": "Paul", "age": 20}
texte = [Link](data, ensure_ascii=False)
print(texte)

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

11. Programmation orientée objet

Page 7
11.1 Classes et objets
Une classe décrit une structure et des comportements ; un objet est une instance de cette classe.
class Etudiant:
def __init__(self, nom, age):
[Link] = nom
[Link] = age

def afficher(self):
print([Link], [Link])

et = Etudiant("Paul", 20)
[Link]()

11.2 Constructeur
__init__ initialise généralement les attributs.
class Animal:
def parler(self):
print("Son")

class Chien(Animal):
def parler(self):
print("Ouaf")

11.3 Méthodes
Une méthode est une fonction définie dans une classe.

11.4 Héritage
Une classe peut dériver d'une autre et réutiliser son comportement.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

12. Algorithmes et structures de données


12.1 Recherche linéaire
On parcourt successivement les éléments jusqu'à trouver la valeur recherchée.
def recherche(tab, valeur):
for i, x in enumerate(tab):
if x == valeur:
return i
return -1

print(recherche([4, 8, 2, 9], 2))

12.2 Recherche binaire


Sur une liste triée, la recherche binaire réduit l'espace de recherche par moitié à chaque étape.
nombres = [5, 2, 9, 1]
print(sorted(nombres))
print(nombres)

12.3 Tri
Les algorithmes de tri réorganisent les éléments. Python fournit sorted() et [Link]().

Page 8
12.4 Complexité
La notation O(...) décrit l'ordre de grandeur du temps ou de la mémoire nécessaires.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

13. Python pour les mathématiques avec SymPy


13.1 Calcul symbolique
SymPy permet de manipuler des expressions, dérivées, intégrales, équations et matrices symboliques.
import sympy as sp
x = [Link]("x")
f = x**2 + 3*x + 2
print([Link](f))

13.2 Dérivation
[Link] calcule une dérivée symbolique.
print([Link](x**3 + 2*x, x))

13.3 Intégration
[Link] calcule des intégrales symboliques.
print([Link](x**2, x))

13.4 Résolution
[Link] permet de résoudre certaines équations.
print([Link](x**2 - 4, x))

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

14. Calcul scientifique avec NumPy


14.1 Tableaux
NumPy fournit des tableaux multidimensionnels efficaces.
import numpy as np
a = [Link]([1, 2, 3, 4])
print(a * 2)
print([Link]())

14.2 Opérations vectorisées


Les opérations peuvent être appliquées directement à des tableaux.
M = [Link]([[1, 2], [3, 4]])
print([Link])
print(M.T)

Page 9
14.3 Statistiques
mean, median, min, max et std permettent de calculer des statistiques courantes.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

15. Analyse de données avec Pandas


15.1 Series et DataFrame
Pandas fournit des structures adaptées aux données tabulaires.
import pandas as pd
df = [Link]({"Nom": ["A", "B", "C"], "Note": [12, 15, 18]})
print(df)

15.2 Importation
read_csv permet de charger un fichier CSV.
print(df[df["Note"] >= 15])

15.3 Filtrage
Une condition booléenne permet de sélectionner des lignes.
print(df["Note"].mean())

15.4 Statistiques
describe, mean, sum et groupby facilitent l'analyse.
print([Link]())

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

16. Visualisation avec Matplotlib


16.1 Courbes
plot permet de représenter une série de données.
import [Link] as plt
x = [1, 2, 3, 4]
y = [2, 4, 3, 6]
[Link](x, y)
[Link]("x")
[Link]("y")
[Link]("Exemple")
[Link]()

16.2 Barres
bar est adapté à la comparaison de catégories.

Page 10
categories = ["A", "B", "C"]
valeurs = [10, 15, 8]
[Link](categories, valeurs)
[Link]()

16.3 Nuages de points


scatter représente la relation entre deux variables.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

17. Bases de données et SQL


17.1 SQLite
SQLite est une base de données légère intégrée à Python.
import sqlite3
conn = [Link]("[Link]")
cur = [Link]()
[Link]("CREATE TABLE IF NOT EXISTS etudiants (nom TEXT, note REAL)")
[Link]("INSERT INTO etudiants VALUES (?, ?)", ("Paul", 15))
[Link]()
[Link]("SELECT * FROM etudiants")
print([Link]())
[Link]()

17.2 Connexion
Le module sqlite3 permet de créer une connexion et d'exécuter des requêtes.

17.3 Requêtes
On utilise notamment CREATE TABLE, INSERT, SELECT, UPDATE et DELETE.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

18. Automatisation et requêtes HTTP


18.1 Automatisation
Python peut automatiser des tâches répétitives : traitement de fichiers, renommage, calculs, rapports, etc.
import requests
response = [Link]("[Link] timeout=10)
print(response.status_code)
print([Link][:100])

18.2 HTTP
Une requête HTTP permet de communiquer avec un service web. La bibliothèque requests est couramment
utilisée.

Page 11
18.3 Prudence
Toujours respecter les conditions d'utilisation, la confidentialité et les règles d'accès des services.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

19. Introduction au machine learning


19.1 Concept
Le machine learning consiste à apprendre des modèles à partir de données afin de produire des prédictions ou
classifications.
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
X = [[1], [2], [3], [4], [5]]
y = [2, 4, 6, 8, 10]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
model = LinearRegression()
[Link](X_train, y_train)
print([Link]([[6]]))

19.2 Étapes
Préparer les données, séparer apprentissage/test, entraîner le modèle, évaluer, puis interpréter les résultats.

19.3 Exemple
Scikit-learn propose de nombreux modèles classiques.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

20. Bonnes pratiques et organisation d'un projet


20.1 Lisibilité
Choisir des noms explicites et respecter une indentation cohérente.
def aire_rectangle(longueur: float, largeur: float) -> float:
"""Retourne l aire d un rectangle."""
return longueur * largeur

20.2 Fonctions courtes


Une fonction devrait idéalement avoir une responsabilité claire.

20.3 Tests
Les tests vérifient que le programme se comporte comme prévu.

20.4 Documentation

Page 12
Les docstrings et fichiers README expliquent l'utilisation du projet.

20.5 Structure
Un projet peut séparer le code source, les tests, les données et la documentation.

À retenir
• Comprendre la notion avant de mémoriser la syntaxe.

• Tester les exemples dans un environnement Python.

• Modifier les exemples pour observer leur comportement.

21. Projets pratiques


Projet 1 — Calculatrice
Créer une calculatrice qui demande deux nombres et une opération (+, -, *, /). Prévoir la division par zéro.

Projet 2 — Jeu de devinette


Le programme choisit un nombre aléatoire et l'utilisateur doit le trouver avec des indications.

Projet 3 — Gestion de notes


Enregistrer les notes de plusieurs étudiants, calculer moyenne, minimum, maximum et décision.

Projet 4 — Analyse CSV


Charger un fichier CSV avec Pandas, produire des statistiques et créer au moins deux graphiques.

Projet 5 — Gestion d'étudiants


Créer une application avec ajout, recherche, modification, suppression et sauvegarde des étudiants.

22. Série de 100 exercices progressifs


Débutant
1. Afficher Bonjour Python.

2. Afficher votre nom et votre âge.

3. Lire deux nombres et afficher leur somme.

4. Calculer la différence de deux nombres.

5. Calculer le produit de deux nombres.

6. Calculer le quotient de deux nombres.

7. Calculer l'aire d'un rectangle.

8. Calculer le périmètre d'un rectangle.

9. Convertir des degrés Celsius en Fahrenheit.

10. Déterminer si un nombre est positif, négatif ou nul.

11. Déterminer si un nombre est pair ou impair.

12. Trouver le plus grand de deux nombres.

Page 13
13. Trouver le plus grand de trois nombres.

14. Calculer une remise commerciale.

15. Calculer une moyenne de trois notes.

16. Afficher les nombres de 1 à 10.

17. Afficher les nombres pairs de 1 à 100.

18. Calculer la somme de 1 à n.

19. Calculer le produit de 1 à n.

20. Afficher la table de multiplication d'un nombre.

Intermédiaire
21. Calculer la factorielle d'un entier.

22. Tester si un nombre est premier.

23. Afficher tous les nombres premiers jusqu'à n.

24. Compter le nombre de voyelles d'un texte.

25. Inverser une chaîne.

26. Tester si un mot est un palindrome.

27. Compter les occurrences d'un caractère.

28. Trouver le maximum d'une liste.

29. Trouver le minimum d'une liste.

30. Calculer la moyenne d'une liste.

31. Supprimer les doublons d'une liste.

32. Fusionner deux listes.

33. Trier une liste sans utiliser sort.

34. Rechercher une valeur dans une liste.

35. Créer une fonction de puissance.

36. Créer une fonction de moyenne.

37. Créer une fonction de conversion de température.

38. Créer un dictionnaire d'étudiants.

39. Calculer la moyenne de chaque étudiant.

40. Afficher les étudiants admis.

Approfondissement
41. Implémenter une recherche binaire.

42. Implémenter un tri par sélection.

43. Implémenter un tri par insertion.

44. Créer une classe Rectangle.

45. Créer une classe CompteBancaire simulée sans connexion externe.

46. Créer une classe Etudiant.

Page 14
47. Créer une classe Promotion contenant plusieurs étudiants.

48. Lire un fichier texte et compter ses mots.

49. Compter les lignes d'un fichier.

50. Créer un fichier CSV à partir d'une liste de dictionnaires.

51. Lire un CSV et calculer une moyenne.

52. Convertir un dictionnaire en JSON.

53. Lire un JSON.

54. Créer une base SQLite simple.

55. Insérer plusieurs étudiants dans SQLite.

56. Interroger SQLite et afficher les résultats.

57. Créer une fonction qui gère les erreurs de saisie.

58. Créer un menu interactif.

59. Créer une calculatrice modulaire.

60. Écrire des tests simples avec assert.

Data et scientifique
61. Créer un tableau NumPy.

62. Calculer la moyenne d'un tableau.

63. Calculer l'écart-type.

64. Créer une matrice 3×3.

65. Calculer la transposée d'une matrice.

66. Résoudre un système simple avec NumPy.

67. Créer un DataFrame Pandas.

68. Importer un CSV.

69. Filtrer un DataFrame.

70. Trier un DataFrame.

71. Calculer des statistiques descriptives.

72. Regrouper des données avec groupby.

73. Créer une courbe avec Matplotlib.

74. Créer un diagramme en barres.

75. Créer un nuage de points.

76. Ajouter titre et légendes.

77. Calculer une dérivée avec SymPy.

78. Calculer une intégrale avec SymPy.

79. Résoudre une équation avec SymPy.

80. Factoriser un polynôme avec SymPy.

Projets et algorithmique

Page 15
81. Créer un jeu de devinette.

82. Créer un convertisseur d'unités.

83. Créer un gestionnaire de contacts.

84. Créer un carnet de notes.

85. Créer un programme de statistiques.

86. Créer un programme de gestion de bibliothèque.

87. Créer un programme de gestion d'étudiants.

88. Créer un analyseur de fichier CSV.

89. Créer un générateur de rapport.

90. Créer un petit système de recherche.

91. Comparer recherche linéaire et binaire.

92. Mesurer le temps de deux algorithmes.

93. Créer une application avec plusieurs modules.

94. Ajouter une sauvegarde JSON à une application.

95. Ajouter SQLite à une application.

96. Créer des tests pour les fonctions principales.

97. Documenter un projet avec un README.

98. Organiser un projet avec src et tests.

99. Créer une application finale combinant plusieurs notions.

100. Présenter et expliquer le projet final.

23. Corrigés des exercices — sélection guidée


Exercice 3
a = float(input("a = "))
b = float(input("b = "))
print(a + b)

Exercice 11
n = int(input("n = "))
if n % 2 == 0:
print("Pair")
else:
print("Impair")

Exercice 18
n = int(input("n = "))
s = 0
for i in range(1, n + 1):
s += i
print(s)

Exercice 21
n = int(input("n = "))
f = 1
for i in range(2, n + 1):
f *= i

Page 16
print(f)

Exercice 22
n = int(input("n = "))
if n < 2:
print("Non premier")
else:
premier = True
for d in range(2, int(n ** 0.5) + 1):
if n % d == 0:
premier = False
break
print("Premier" if premier else "Non premier")

Exercice 26
texte = input("Texte : ").lower()
voyelles = "aeiouy"
compteur = sum(1 for c in texte if c in voyelles)
print(compteur)

Exercice 28
notes = [12, 15, 18, 10]
print(max(notes))

Exercice 30
notes = [12, 15, 18, 10]
print(sum(notes) / len(notes))

Exercice 35
def puissance(a, n):
return a ** n
print(puissance(2, 5))

Exercice 46
def recherche_binaire(tab, valeur):
gauche, droite = 0, len(tab) - 1
while gauche <= droite:
milieu = (gauche + droite) // 2
if tab[milieu] == valeur:
return milieu
if tab[milieu] < valeur:
gauche = milieu + 1
else:
droite = milieu - 1
return -1

Exercice 51
class Rectangle:
def __init__(self, longueur, largeur):
[Link] = longueur
[Link] = largeur
def aire(self):
return [Link] * [Link]

Exercice 58
import csv
with open("[Link]", newline="", encoding="utf-8") as f:
lecteur = [Link](f)
for ligne in lecteur:
print(ligne)

Exercice 61
import json
data = {"nom": "Paul", "age": 20}

Page 17
with open("[Link]", "w", encoding="utf-8") as f:
[Link](data, f, ensure_ascii=False, indent=2)

Exercice 64
import sqlite3
conn = [Link]("[Link]")
cur = [Link]()
[Link]("CREATE TABLE IF NOT EXISTS etudiants (nom TEXT, note REAL)")
[Link]("INSERT INTO etudiants VALUES (?, ?)", ("Awa", 16))
[Link]()
[Link]()

Exercice 71
import numpy as np
a = [Link]([10, 20, 30, 40])
print([Link]())

Exercice 77
import pandas as pd
df = [Link]({"Nom": ["A", "B"], "Note": [12, 16]})
print(df[df["Note"] >= 15])

Exercice 81
import sympy as sp
x = [Link]("x")
print([Link](x**3 + x, x))

Exercice 82
import sympy as sp
x = [Link]("x")
print([Link](x**2, x))

Pour les autres exercices, la solution attendue dépend de la stratégie choisie. Les exercices de projet sont
volontairement ouverts afin de favoriser la conception personnelle.

24. Projet final — Gestion d'étudiants


Objectif : développer une petite application console permettant de gérer une liste d'étudiants. Le projet réunit
variables, listes, dictionnaires, fonctions, fichiers, exceptions et éventuellement SQLite.

Fonctionnalités attendues
• Ajouter un étudiant.

• Afficher tous les étudiants.

• Rechercher un étudiant par nom.

• Modifier une note.

• Supprimer un étudiant.

• Calculer les moyennes.

• Afficher les étudiants admis.

• Sauvegarder les données.

• Charger les données au démarrage.

• Gérer les erreurs de saisie.

Architecture suggérée

Page 18
projet_etudiants/
■■■ [Link]
■■■ [Link]
■■■ [Link]
■■■ [Link]
■■■ tests/
■ ■■■ test_etudiants.py
■■■ data/
■■■ [Link]

Exemple de structure de données


etudiants = [
{
"nom": "Awa",
"age": 20,
"notes": [14, 16, 12]
},
{
"nom": "Paul",
"age": 21,
"notes": [10, 13, 15]
}
]

Conseil méthodologique
Commencer par une version minimale fonctionnelle, puis ajouter les fonctionnalités une par une. Tester chaque
fonction avant d'intégrer la suivante.

Annexe A — Aide-mémoire Python


Afficher
print("Bonjour")

Variable
x = 10

Entrée
x = input("Saisie : ")

Conversion
x = int("10")

Condition
if x > 0:
print("positif")

Boucle
for i in range(10):
print(i)

Liste
liste = [1, 2, 3]

Dictionnaire
d = {"nom": "Awa"}

Fonction
def f(x):
return x * 2

Page 19
Exception
try:
...
except ValueError:
...

Fichier
with open("[Link]", "r", encoding="utf-8") as f:
texte = [Link]()

Import
import math

Annexe B — Glossaire
Algorithme : Suite d'étapes permettant de résoudre un problème.

Variable : Nom associé à une valeur.

Type : Catégorie d'une valeur, par exemple entier ou chaîne.

Fonction : Bloc de code réutilisable.

Module : Fichier Python contenant du code réutilisable.

Classe : Modèle permettant de créer des objets.

Objet : Instance d'une classe.

Exception : Événement signalant une erreur ou une situation inhabituelle.

Bibliothèque : Ensemble de modules ou fonctionnalités réutilisables.

DataFrame : Structure tabulaire de Pandas.

API : Interface permettant à des programmes de communiquer.

Machine learning : Méthodes permettant à un système d'apprendre à partir de données.

Page 20

Vous aimerez peut-être aussi