Python Cours
Python Cours
Structure du cours 2
Généralités et algorithmiques
Appareils
Divertissement Sport
Informatique
- L’informatique au service de la biologie
- Premiers pas en programmation Etudes Santé
1
18/11/2025
Médecine
Apareils Santé Tablettes Protéomique
personnalisée
Informatique
Ecosystème Population en santé et
séquençage
TPE Smart Watches de l’ADN
Informatique en biologie
Imagerie
Drones Web Pharmacologie
médicale
VR Automobiles
L’informatique révolutionne la santé et la biologie 7 Compétences informatiques attendues d’un biologiste moderne 8
2
18/11/2025
D’un point de vue générale : - Définition: la programmation est l’art d’écrire des instructions
compréhensibles par un ordinateur pour résoudre un problème.
• la programmation c’est donner des instructions précises (pas de place à
l’ambiguïté) à un ordinateur pour qu’il exécute une ou plusieurs taches.
- Objectif : Transformer des besoins métier en instructions
• Ces instructions suivent une succession logique exécutables
• Ces instructions sont écrites par un langage machine - Elle repose sur :
- La logique : décomposer un problème en sous-problèmes.
- Les algorithmes : suites d’instructions pour atteindre un
objectif.
Un peu comme expliquer une - Les langages de programmation : moyens de communication
recette… mais à un robot très avec la machine.
littéral !
La programmation et l’algorithmiques
Un algorithme Un programme
Langage interprété : pas besoin de compilation.
• C’est la méthode décrite par l’algorithme Lisible et simple : la syntaxe ressemble à l’anglais.
• C’est la séquence d’étapes logiques pour mais méthode traduite dans un langage que
accomplir une tâche (un traitement), l’ordinateur comprend (comme Python ou
Polyvalent : utilisé en Data Science, IA, web, automation, bioinformatique…
• Exemple : Prélever 1 mL d’échantillon, R). Gratuit et multiplateforme : fonctionne sur Windows, macOS et Linux.
le diluer 10 fois, mesurer l’absorbance à
260 nm, puis calculer la concentration • L’ordinateur exécute alors automatiquement
d’ADN les étapes
• C’est une méthode claire, reproductible… • Chaque instruction doit être exacte, sans
mais décrite en langage humain. imprécision, et respecter la syntaxe du
langage
3
18/11/2025
4
18/11/2025
5
18/11/2025
• Operateur d’affectation:
• Exercice
• Quelles seront les valeurs des variables après l’exécution chacun des algorithmes
suivants : Chapitre 2| Types de Données et
Opérateurs
A←3 A←3
A←5
A←4 B ← 10 B ← 10 - Premiers pas en programmation python
A←1 B←2
B←A C←A+B C←A+B
A←3 A←B
A←0 B ← A + 10 B←A+B
B←A
A←C A←C
Une variable est un nom qui fait référence à une valeur stockée dans la Type Exemple Description
mémoire de l’ordinateur. int 5 Entier
float 3.14 Nombre réel (à virgule)
On peut la voir comme une “boîte” étiquetée contenant une donnée. str "Python" Chaîne de caractères
bool True / False Valeur logique
< Exemple>
Conversion de types:
Parfois, on doit changer le type d’une donnée.
nom = "Ichrak" nom et age sont des variables.
age = 25
< Exemple>
x = "42"
x = int(x) # devient un entier
6
18/11/2025
Règles de nommage:
7
18/11/2025
8
18/11/2025
Opérateurs 35 Opérateurs 36
9
18/11/2025
Un opérateur de comparaison est un symbole qui permet de comparer deux L’opérateur and (ET logique):
valeurs. L’expression est vraie seulement si les deux conditions sont vraies.
Il renvoie toujours une valeur booléenne :
• True (vrai) si la comparaison est correcte L’opérateur or (OU logique)
• False (faux) sinon L’expression est vraie si au moins une des deux conditions est vraie.
10
18/11/2025
11
18/11/2025
Structures conditionnelles 46
sequence = "ATGCGCGTTA"
< Exemple> < Exemple>
gc = ([Link]("G") + [Link]("C")) / len(sequence) * 100
Résultat:
note = 15 Séquence équilibrée
if gc > 60:
age = 18 if note >= 16: en GC
print("Séquence très riche en GC")
if age >= 18: print("Très bien")
elif gc >= 40:
print("Majeur") elif note >= 12:
print("Séquence équilibrée en GC")
else: print("Assez bien")
else:
print("Mineur") else:
print("Séquence pauvre en GC")
print("Insuffisant")
12
18/11/2025
if nombre > 0:
print("Le nombre est positif.") temp = float(input("Entrez la température (°C) : ")) les deux conditions doivent
elif nombre < 0: être vraies :
print("Le nombre est négatif.") if temp >= 36 and temp <= 37.5: •la température ≥ 36
else: print("Température normale") •et ≤ 37.5
print("Le nombre est nul.") else:
print("Température anormale")
13
18/11/2025
Conditions imbriquées
Condition avec booléens On peut placer une condition à l’intérieur d’une autre
Demande à l’utilisateur :
< Exemple> • son âge,
• s’il possède une carte d’étudiant (oui/non).
organisme = "Homo sapiens"
gc = 45 Affiche :
1. "Réduction accordée" si l’âge est < 26 et qu’il a une
if organisme == "Homo sapiens" and gc > 50:
print("Séquence humaine riche en GC") carte,
elif organisme == "Homo sapiens" and gc <= 50: 2. sinon "Pas de réduction".
print("Séquence humaine pauvre en GC")
else:
print("Autre organisme")
14
18/11/2025
Structures conditionnelles
Exercice d’application
< Correction>
Écris un programme qui demande à l’utilisateur de saisir deux
nombres, puis affiche :
age = int(input("Entrez votre âge : ")) 1. leur moyenne,
carte = input("Avez-vous une carte d’étudiant ? (oui/non) : ").lower() 2. et un message indiquant si cette moyenne est supérieure ou
if age < 26 and carte == "oui": inférieure à 10
print("Réduction accordée ")
else:
print("Pas de réduction.")
Exercice d’application
< Correction>
Écris un programme qui demande un nombre entier à l’utilisateur,
# Saisie puis affiche s’il est compris entre 10 et 20 inclus.
a = float(input("Entrez le premier nombre : "))
b = float(input("Entrez le deuxième nombre : "))
15
18/11/2025
Match 61 Match 62
jour = 2
< Exemple>
match jour:
match expression: case 1:
L’opérateur _ (cas par défaut) print("Lundi")
case valeur1:
# Bloc d’instructions si expression == valeur1 case 2:
Le trait de soulignement _ print("Mardi")
case valeur2: représente le cas par défaut,
# Bloc d’instructions si expression == valeur2 case 3:
case _: print("Mercredi")
# Bloc par défaut (équivalent de 'default') case _:
print("Autre jour")
Match 63 Match 64
base = "A"
< Exemple>
match base:
case "A": match jour:
print("Adénine (purine)") case 6 | 7:
case "T": print("Weekend")
print("Thymine (pyrimidine)") case 1 | 2 | 3 | 4 | 5:
case "G": print("Semaine")
print("Guanine (purine)") case _:
case "C": print("Inconnu")
print("Cytosine (pyrimidine)")
case _:
print("Base inconnue")
16
18/11/2025
Match 65 Match 66
Analyse d’un type de molécule biologique Cas avec conditions (garde if)
1. Demande à l’utilisateur de saisir une base (A, T, G, C ou U) base = input("Entrez une base (A, T, G, C, U) : ").upper()
Affichage:
match base:
2. Utilise match pour afficher le type de base : case "A" | "G":
Entrez une base (A, T, G, C, U) :
• A et G → purine g
print("C’est une purine.")
C’est une purine.
• T, C et U → pyrimidine case "T" | "C" | "U":
print("C’est une pyrimidine.")
• Autre → base inconnue. case _:
print("Base inconnue.")
17
18/11/2025
Les boucles 70
Une boucle est une structure de contrôle qui permet de répéter un bloc
d’instructions tant qu’une condition est vraie ou pour chaque élément
d’une séquence.
Chapitre 4| Boucles et Itérations
Python possède deux types principaux de boucles :
• for: Itère sur une séquence (liste, chaîne, tuple, dictionnaire, etc.)
• while: Répète tant qu’une condition est vraie
< Exemple>
< Syntaxe> Affichage:
sequence = "ATCG" A
T
for variable in sequence: for base in sequence: C
bloc_d_instructions print(base) G
18
18/11/2025
range(n) crée une séquence de nombres de 0 à n-1. Variante : range(début, fin, pas)
Affichage:
< Exemple> Affichage: < Exemple>
1
Itération numéro :0 3
for i in range(5): Itération numéro :1 for i in range (1, 10, 2): 5
print("Itération numéro :", i) Itération numéro :2 print(i) 7
Itération numéro :3 9
Itération numéro :4
19
18/11/2025
La boucle while :
La boucle while :
< Exemple>
Affichage:
< Exemple> Affichage: temperature = 20
Température actuelle : 20
while temperature < 37: Température actuelle : 23
i=0 i=0 Température actuelle : 26
while i < 5: i=1 print("Température actuelle :", temperature)
temperature += 3 Température actuelle : 29
print("i =", i) i=2 Température actuelle : 32
i += 1 i=3 Température actuelle : 35
i=4 print("Température corporelle normale atteinte.")
Température corporelle normale atteinte.
20
18/11/2025
Correction: Correction:
Affichage:
somme = 0
1 au carré = 1 Affichage:
for i in range(1, 6):
for i in range(1, 6): 2 au carré = 4
somme += i # même que somme = somme + i
print(i, "au carré =", i**2) 3 au carré = 9 La somme est : 15
print("La somme est :", somme)
4 au carré = 16
5 au carré = 25
# Affichage du résultat
print("Nombre d'heures nécessaires :", heures)
21
18/11/2025
• Pour chaque itération de la boucle extérieure, la boucle intérieure < Exemple> Affichage:
s’exécute entièrement.
i=0,j=0
for i in range(3):
i=0,j=1
for j in range(2):
i=1,j=0
< Syntaxe> print("i =", i, ", j =", j) i=1,j=1
i=2,j=0
for i in range(...): pour chaque valeur de i. i=2,j=1
for j in range(...): parcourir toutes les valeurs de j.
# instructions
22
18/11/2025
Les listes 90
Une liste est une structure de données qui permet de stocker plusieurs
valeurs dans une seule variable.
Chapitre 5| Structures de Données Elle est ordonnée, modifiable (mutable) et peut contenir des éléments
Fondamentales de types différents.
Syntaxe:
nom_liste = [élément1, élément2, élément3, ...]
• nombres = [1, 2, 3, 4, 5] Chaque élément d’une liste a un indice (position), qui commence à 0.
• fruits = ["pomme", "banane", "orange"]
• melange = [1, "ADN", 3.5, True] Syntaxe:
• vide = [] # liste vide
liste[indice]
Remarques :
• Les crochets [ ] servent à définir la liste. Exemple:
• Les éléments sont séparés par des virgules (,). • fruits = ["pomme", "banane", "orange"]
• On peut y mettre des nombres, des chaînes, des booléens, des listes… • print(fruits[0]) # premier élément -> pomme
• print(fruits[1]) # deuxième élément -> banane
• print(fruits[-1]) # dernier élément -> orange
Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI
23
18/11/2025
24
18/11/2025
Parcours d’une liste Parcours d’une liste avec indices (range et len):
Affichage: Affichage:
fruits = ["pomme", "banane", "orange"] fruits = ["pomme", "banane", "orange"]
J’aime : pomme Indice 0 -> pomme
for fruit in fruits: J’aime : banane for i in range(len(fruits)): Indice 1 -> banane
print("J’aime :", fruit) J’aime : orange print("Indice", i, "->", fruits[i]) Indice 2 -> orange
10
Les listes 99 Autre opérations sur les listes 0
Tranches (slicing):
25
18/11/2025
10 10
Les listes 1
Les listes 2
Exemple: Exemple:
sequence = ["A", "T", "G", "C", "A", "A", "G"] notes = [12, 15, 13, 10, 16]
somme = 0
# Compter le nombre d’A Affichage:
for n in notes: Affichage:
nb_A = [Link]("A")
Nombre de A : 3 somme += n
Moyenne : 13.2
print("Nombre de A :", nb_A)
moyenne = somme / len(notes)
print("Moyenne :", moyenne)
10 10
Les listes 3
Les listes 4
Correction:
mesures = [10.2, 11.5, 9.8, 12.0] nombres = [4, 7, 10, 2, 5]
Affichage:
moyenne = sum(mesures) / len(mesures) # Afficher le premier élément
print("Moyenne :", moyenne) Moyenne : 10.875 print("Premier élément :", nombres[0])
# Afficher le dernier élément
print("Dernier élément :", nombres[-1])
# Calculer la somme
somme = sum(nombres)
print("Somme des éléments :", somme)
26
18/11/2025
10 10
Les Dictionnaires en Python 5
Les Dictionnaires en Python 6
Comment ajouter des valeurs dans un dictionnaire python? Comment supprimer une entrée dans un dictionnaire python?
• Pour ajouter des valeurs à un dictionnaire il faut indiquer une clé ainsi qu'une • Il est possible de supprimer une entrée en indiquant sa clé, comme pour les
valeur: listes:
a["nom"] = "Wayne"
a["prenom"] = "Bruce" del a["nom"]
Vous pouvez utiliser des clés numériques comme dans la logique des listes . Comment récupérer les clés d'un dictionnaire python par une boucle?
• Pour récupérer les clés on utilise la méthode keys .
Comment récupérer une valeur dans un dictionnaire python?
• La méthode get vous permet de récupérer une valeur dans un dictionnaire et fiche = {"nom":"Wayne", "prenom":"Bruce"}
si la clé est introuvable, vous pouvez donner une valeur à retourner par for cle in [Link]():
défaut: print cle
10 10
Les Dictionnaires en Python 7
Les Dictionnaires en Python 8
27
18/11/2025
10
Comparaison entre les Listes et les Dictionnaires en Python 9
Comparaison entre les Listes et les Dictionnaires en Python 110
Comparaison entre les Listes et les Dictionnaires en Python 111 Comparaison entre les Listes et les Dictionnaires en Python 112
Exercice comparatif:
28
18/11/2025
Comparaison entre les Listes et les Dictionnaires en Python 113 Comparaison entre les Listes et les Dictionnaires en Python 114
del etudiants["Youssef"]
Correction:
cours = {
"Python": [14, 15, 13, 17],
"Math": [12, 10, 14, 11],
"Physique": [16, 18, 17, 19]
}
29