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

Python Cours

Le document présente un cours d'informatique appliqué à la biologie, structuré en plusieurs chapitres abordant des concepts fondamentaux tels que les types de données, les algorithmes, et la programmation en Python. Il met en avant l'importance de l'informatique dans le domaine de la santé et de la biologie, en soulignant les compétences nécessaires pour un biologiste moderne. Des exemples concrets d'applications en biologie, comme l'analyse de séquences d'ADN et la modélisation d'épidémies, sont également fournis.

Transféré par

charafelhaydi
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)
4 vues29 pages

Python Cours

Le document présente un cours d'informatique appliqué à la biologie, structuré en plusieurs chapitres abordant des concepts fondamentaux tels que les types de données, les algorithmes, et la programmation en Python. Il met en avant l'importance de l'informatique dans le domaine de la santé et de la biologie, en soulignant les compétences nécessaires pour un biologiste moderne. Des exemples concrets d'applications en biologie, comme l'analyse de séquences d'ADN et la modélisation d'épidémies, sont également fournis.

Transféré par

charafelhaydi
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

18/11/2025

Structure du cours 2

Chapitre 1| Introduction : Généralités et algorithmiques

Informatique pour la biologie Chapitre 2| Types de Données et Opérateurs

Filière : Biologie BG S3 Chapitre 3| Structures Conditionnelles

Chapitre 4| Boucles et Itérations

Chapitre 5| Structures de Données Fondamentales

Chapitre 6| Fonctions en Python

Prof. Ichrak BENAMRI


1
Prof. Ichrak BENAMRI

L’informatique au service de la santé 4

L’informatique, partout autour de nous

Chapitre 1| Introduction : Voyage Vie Personnel

Généralités et algorithmiques
Appareils
Divertissement Sport
Informatique
- L’informatique au service de la biologie
- Premiers pas en programmation Etudes Santé

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

1
18/11/2025

L’informatique au service de la santé 5 L’informatique révolutionne la santé et la biologie 6

Systèmes IOT Smartphones

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

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

L’informatique révolutionne la santé et la biologie 7 Compétences informatiques attendues d’un biologiste moderne 8

Des exemples concrets en biologie

Analyse de séquences d’ADN (ex. : recherche de mutations)


• Lire et comprendre des scripts : Python, R…
• Manipuler des fichiers de données : tableaux (Excel), séquences, images
Modélisation de la propagation d’une épidémie • Automatiser des tâches répétitives (ex. : traitement de 1000 échantillons)
• Collaborer avec des bioinformaticiens ou des data scientists
Suivi de la biodiversité via des capteurs ou des images
satellites
Savoir programmer, c’est gagner en autonomie et en
précision scientifique.

Automatisation de l’analyse de microscopie ou de données de


laboratoire
Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

2
18/11/2025

Premiers pas en programmation 9 Premiers pas en programmation 10

Qu’est-ce que la programmation ? Qu’est-ce que la programmation ?

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 !

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Premiers pas en programmation 11 Pourquoi apprendre Python ? 12

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

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

3
18/11/2025

Premiers pas en programmation 13 Premiers pas en programmation 14

• Définitions d’un algorithme :


• Exemple concret d’un algorithme :
• La recette d’un gâteau:
• Un algorithme, c’est une suite d’instructions, une fois l’algorithme est exécuté
correctement, il conduit à un résultat donné. • quel sont les données d’entrée?
• quel sont les instructions à suivre?
• Un algorithme sert à transmettre un savoir faire. Il décrit les étapes à suivre • quel sont les données de sortie?
pour réaliser un travail. Il permet d'expliciter clairement les idées de solution
d'un problème indépendamment d'un langage de programmation Réponses
• Les données d’entré sont les ingrédients
• L'utilisateur d'un algorithme n'aura qu'à suivre toutes les instructions, dans
l'ordre pour arriver au résultat que doit donner l'algorithme • Les instructions sont les étapes et les méthodes dont
les ingrédients doivent être mélangés et cuits.
• Un algorithme est une suite finie d’instructions qui transforment des données
d’entrée en données de sortie. • La donnée de sortie est le gâteau près à être
dégusté.
Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Premiers pas en programmation 15 Premiers pas en programmation 16

Formalisme : Etape de réalisation d’un algorithme La composition d’un algorithme:


• Question générique : Comment écrire la résolution d’une certaine problématique?
• L’algorithme est composé d'un entête et d’un corps:
• Réponse: On peut écrire un algorithme qui décrit les étapes de résolution du
problème. Alors, les étapes de rédaction d’un algorithme sont: L'entête :
1. Comprendre l’énoncé du problème. • Nom : le nom de l'algorithme
2. Définir le résultat attendu: la sortie.
3. Définir les données à manipuler: l’entrée
• Rôle : ce que fait l'algorithme
4. Décomposer le problème en sous-problèmes: l’ensembles des opérations et calcules • Données : les données fournies à l'algorithme (l’entrée)
necessaires • Résultat : ce que l'on obtient à la fin du traitement (la sortie)
5. Le début de l’algorithme
• Principe : le principe utilisé dans l'algorithme
6. Associer à chaque sous-problème:
• Les données nécessaires Le corps :
• Les résultats. • Déclaration du début de l’algorithme
• Le traitement (l’opération) à effectuer sur les données nécessaires.
7. Définir l’ordre précis des opérations
• Description des opérations
8. Fin de l’algorithme • Déclaration de la fin de l’algorithme
Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

4
18/11/2025

Premiers pas en programmation 17 Premiers pas en programmation 18

• Exemple d’un algorithme simple:


• Les variables
Nom : sommeDeuxEntiers.  Une variable est une entité qui contient une information, elle possède :
• un nom, ou identifiant
Entête Rôle : additionner deux entiers et mémoriser le résultat
• une valeur
Données : les valeurs à additionner a et b.
• un type qui caractérise l’ensemble des valeurs que peut prendre la variable
Résultat : la somme des deux valeurs.
 L’ensemble des variables est mémorisé dans la mémoire (RAM) de
l’ordinateur
début
Corps c←a+b
fin

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Premiers pas en programmation 19 Premiers pas en programmation 20

• Type d’une variable • Operateur d’affectation:


• Une variable doit avoir un type: • L’opérateur d’affectation, représenté par le symbole «← », qui confère une valeur à
• Les types les primitives en informatique sont : une variable.
entier pour manipuler des entiers • Exemple l’expression c ← a + b se comprend de la façon suivante :
 Exemple : Traitement des patients d’un hôpital (le nombre de passions) • c reçoit la valeur de a plus la valeur de b
réel pour manipuler des nombres réels • On prend la valeur de la variable a
 Exemple : Manipulation des doses d’un produit • On prend la valeur de la variable b
booléen pour manipuler des valeurs booléennes (vrai ou faux) • On additionne ces deux valeurs
 Exemple : Résultats du test du Covid19
• On mémorise ce résultat dans la variable c
caractère pour manipuler des caractères alphabétiques et numériques
 Exemple : Nom d’un produit contenant un seul symbole (A ou B ou C)
Chaîne de caractères pour manipuler des mots et des phrases
 Exemple : Gestion des noms, séquences d’ADN Si c avait auparavant une valeur, cette dernière est perdue !

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

5
18/11/2025

Premiers pas en programmation 21

• 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

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Variables et Types de données: 23 Types de base en Python 24

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

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

6
18/11/2025

Création et affectation d’une variable 25 Types de base en Python 26

On affecte une valeur à une variable avec le signe =

< Exemple biologique>


< Exemple>
“x reçoit la valeur 10”
x = 10 • gene contient une chaîne de caractères (str)
y = 3.14
“y reçoit 3.14” gene = "BRCA1"
organisme = "Homo sapiens" • organisme aussi une chaîne
nom = "ADN" “nom reçoit ‘ADN’”. longueur = 1863 • longueur contient un entier (int)

Règles de nommage:

• Le nom ne doit pas commencer par un chiffre.


• Il ne contient pas d’espace (utiliser _ à la place).
• Sensible à la casse : Nom ≠ nom.

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Types de base en Python 27 Types de base en Python 28

Les chaînes de caractères (str)


Une chaîne est une suite de caractères (texte) entourée de " " ou ' '.
< Exemple biologique>

• gene est une chaîne de caractères, < Exemple>


gene = "BRCA1" longueur un entier.
sequence = "ATGAAAGGCTTAAGT"
sequence = "ATGCGTAC"
longueur = len(sequence) • La fonction len() renvoie la taille gene = 'TP53'
d’une séquence.
print("Gène :", gene)
print("Longueur :", longueur, "nucléotides")
Concaténation (assemblage)

print("Gène :", gene + " → Séquence :", sequence)

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

7
18/11/2025

Types de base en Python 29 Types de base en Python 30

Les chaînes de caractères (str)


Les chaînes de caractères (str)
Indexation
Chaque caractère d’une chaîne a une position (indice), à partir de 0 : Slicing (découpage)
on peut extraire un fragment
< Exemple>
< Exemple>
sequence = "ATGCGTAC"
print(sequence[0]) # A
print(sequence[3]) # C sequence = "ATGCGTAC"
print(sequence[0:3]) # ATG
print(sequence[4:]) # GTAC

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Identifier le type d’une donnée 31 Identifier le type d’une donnée 32

La fonction type() est une fonction intégrée (built-in) de Python.


Elle permet de connaître le type d’une donnée, d’une variable ou • Python est un langage dynamiquement typé, c’est-à-dire qu’on n’a
d’un objet. pas besoin de déclarer le type des variables à l’avance.

type(objet) • Il est souvent utile de vérifier le type d’une variable pour :


comprendre ce qu’elle contient, éviter des erreurs de calcul ou de
conversion, déboguer un programme.
• objet : c’est la donnée ou la variable dont tu veux connaître le type.
• La fonction retourne (affiche) le type de l’objet.

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

8
18/11/2025

Identifier le type d’une donnée 33 Identifier le type d’une donnée 34

< Exemple biologique> < Exemple biologique>

x = 10 Affichage: sequence = "ATGCTTAC" Affichage:


y = 3.14 print(type(sequence))
nom = "ADN" <class 'int'> <class 'str’>
est_vrai = True <class 'float'> longueur = 8
<class 'str'> print(type(longueur)) <class 'int'>
print(type(x)) <class 'bool'>
print(type(y))
print(type(nom))
print(type(est_vrai))

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Opérateurs 35 Opérateurs 36

Un opérateur est un symbole qui effectue une opération sur une ou


plusieurs valeurs. < Exemple Calcul du pourcentage de
GC dans une séquence d’ADN>
Opérateur Exemple Signification
+ a+b addition
sequence = "ATGCGCGTTAGC"
- a-b soustraction nb_G = [Link]("G")
* a*b multiplication nb_C = [Link]("C")
gc_percent = (nb_G + nb_C) / len(sequence) * 100
/ a/b division
print("Teneur en GC :", gc_percent, "%")
// a // b division entière
% a%b reste de la division
** a ** b puissance

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

9
18/11/2025

Les opérateurs de comparaison 37 Les Opérateurs Logiques 38

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.

L’opérateur not (NON logique)


Opérateur Exemple Résultat Il inverse le résultat d’une condition.
== a == b égalité
!= a != b différent
Opérateur Exemple Résultat
> a>b supérieur
and a > 0 and b < 5 ET logique
< a<b inférieur
or a > 0 or b < 5 OU logique
>= a >= b supérieur ou égal
not not a > 0 Négation
<= a <= b inférieur ou égal

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Opérateurs d’affectation combinés 39 Entrée utilisateur 40

Entrée utilisateur (input())


Ces opérateurs permettent de modifier la valeur d’une variable en une
seule instruction, en appliquant une opération arithmétique et une
Input() permet d’obtenir une valeur saisie par l’utilisateur
affectation à la fois.

Opérateur Équivalent Exemple Résultat < Exemple>


+= x=x+y x = 5; x += 2 7
-= x=x-y x = 10; x -= 3 7
gene = input("Nom du gène : ")
*= x=x*y x = 4; x *= 3 12 sequence = input("Séquence ADN : ")
/= x=x/y x = 10; x /= 2 5.0
print("Analyse du gène", gene)
print("Longueur :", len(sequence))

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

10
18/11/2025

Entrée utilisateur 41 Premiers pas en programmation 42

Entrée utilisateur (input()) Exercice de cours (à realiser en binômes)

Calcul de la teneur en GC d’un gène saisi par l’utilisateur


• Tu travailles sur un projet d’analyse génétique.
< Exemple> • Tu veux enregistrer et manipuler les informations
suivantes sur un gène humain :
gene = input("Nom du gène : ") Exécution
Nom du gène : "BRCA1"
sequence = input("Séquence ADN : ").upper() Organisme : "Homo sapiens"
Longueur de la séquence : 1863 nucléotides
gc = ([Link]("G") + [Link]("C")) Nom
/ len(sequence) * 100
du gène : BRCA1
Séquence ADN : ATGCGCTTA
Teneur en GC : 47.8 %
print("Gène :", gene) Gène : BRCA1 Le gène est exprimé ? : True
print("Longueur :", len(sequence)) Longueur : 9
print("Teneur en GC :", round(gc, 2), "%") Teneur en GC : 55.56 %

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Premiers pas en programmation 43 Premiers pas en programmation 44

Exercice de cours (à realiser en binômes) Exercice de cours (à realiser en binômes)

# === Création des variables === # === Affichage formaté ===


gene = "BRCA1" print(f"\nLe gène {gene} de {organisme} a une longueur de {longueur} nucléotides.")
organisme = "Homo sapiens" print(f"Sa teneur en GC est de {gc_content} %.")
longueur = 1863 print(f"Gène exprimé : {exprime}")
gc_content = 47.8
exprime = True # === Conversion de type ===
longueur_str = str(longueur)
# === Vérification des types === print("\nLongueur du gène : " + longueur_str + " nucléotides")
print("Type de gene :", type(gene))
print("Type d’organisme :", type(organisme)) # === Défi ===
print("Type de longueur :", type(longueur)) poids_proteine = 186.3
print("Type de gc_content :", type(gc_content)) taille_sequence = 1863
print("Type d’exprime :", type(exprime)) print("Les deux valeurs sont égales ?", poids_proteine == taille_sequence)

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

11
18/11/2025

Structures conditionnelles 46

Les structures conditionnelles permettent à un programme de prendre


une décision : exécuter une ou plusieurs instructions si une condition est
vraie, et éventuellement d’autres sinon.

Chapitre 3| Structures Conditionnelles


< Exemple>
En Python, la structure
if condition:
conditionnelle s’écrit avec le # instructions exécutées si la condition est vraie
mot-clé if, suivi elif autre_condition:
éventuellement de elif (“else # instructions exécutées si la première est fausse mais
celle-ci vraie
if”) et else. else:
# instructions exécutées si aucune condition n’est vraie

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Structures conditionnelles 47 Structures conditionnelles 48

Règles importantes Exemple:


• On calcule le pourcentage de G+C.
• On teste plusieurs conditions pour classifier la séquence selon sa composition.
L’instruction if se termine par un deux-points (:).
Le bloc d’instructions qui suit doit être indenté (généralement 4 espaces ou une
tabulation).
Il ne peut y avoir qu’un seul if initial, mais plusieurs elif, et au plus un else final. < Exemple>

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")

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

12
18/11/2025

Structures conditionnelles 49 Structures conditionnelles 50

Exemple: Si on veut tester plusieurs conditions en même temps:


•Écris un programme qui demande à l’utilisateur un nombre, puis affiche s’il est positif, négatif ou on utilise les opérateurs logiques (and, or et not)
égal à zéro.

Exemple: une valeur dans un intervalle


< Exemple>
Vérifions si une température est dans la plage normale du corps humain (entre 36 et 37.5 °C).

nombre = float(input("Entrez un nombre : ")) < Exemple>

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")

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Structures conditionnelles 51 Structures conditionnelles 52

Si on veut tester plusieurs conditions en même temps: Exemple:


• On combine deux conditions : expression & GC.
on utilise les opérateurs logiques (and, or et not) • L’opérateur and impose que les deux soient vraies.

Exemple 2: un cas ou l’autre (avec or)


< Exemple>
Vérifions si une cellule provient de deux tissus possibles : foie ou cœur.
expression = 8.5 # niveau d’expression
gc_content = 52.0
< Exemple>
if expression > 10 and gc_content > 50:
tissu = input("Entrez le type de tissu : ").lower() Si tissu vaut "foie" ou print("Gène hautement exprimé et riche en GC")
"coeur", la condition est elif expression > 10 and gc_content <= 50:
if tissu == "foie" or tissu == "coeur": vraie. print("Gène hautement exprimé mais pauvre en GC")
print("Tissu accepté pour l’expérience.") elif expression <= 10 and gc_content > 50:
else: print("Gène faiblement exprimé mais riche en GC")
print("Tissu non accepté.") else:
print("Gène faiblement exprimé et pauvre en GC")

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

13
18/11/2025

Structures conditionnelles 53 Structures conditionnelles 54

Conditions imbriquées
Condition avec booléens On peut placer une condition à l’intérieur d’une autre

< Exemple> < Exemple>

organisme = "Homo sapiens"


gc = 45
exprime = True
pas besoin d’écrire if exprime == True if organisme == "Homo sapiens":
if exprime: la variable booléenne suffit. if gc > 50:
print("Le gène est exprimé.") print("Séquence humaine riche en GC")
else: else:
print("Le gène n’est pas exprimé.") print("Séquence humaine pauvre en GC")
else:
print("Autre organisme")

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Structures conditionnelles 55 Premiers pas en programmation 56

Exercice de cours (à realiser en binômes)


Le meme exemple précèdent avec l’utilisation d’operateur logique and.

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")

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

14
18/11/2025

Premiers pas en programmation 57 Premiers pas en programmation 58

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.")

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Premiers pas en programmation 59 Premiers pas en programmation 60

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 : "))

# Calcul de la moyenne < Correction>


moyenne = (a + b) / 2

# Affichage nombre = int(input("Entrez un nombre : "))


print(f"La moyenne est : {moyenne}")
if nombre >= 10 and nombre <= 20:
# Condition print("Le nombre est entre 10 et 20")
if moyenne > 10: else:
print("Moyenne supérieure à 10") print("Le nombre n'est pas dans l'intervalle")
else:
print("Moyenne inférieure ou égale à 10")

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

15
18/11/2025

Match 61 Match 62

Exemple simple des jours


La structure match / case permet de comparer une variable à plusieurs
motifs (patterns) et d’exécuter du code différent selon la valeur ou la
forme de cette variable. < Exemple>

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")

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Match 63 Match 64

Classification d’un acide nucléique Plusieurs valeurs dans un même case

On peut tester plusieurs valeurs avec le séparateur | (ou logique) :


< Exemple>

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")

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

16
18/11/2025

Match 65 Match 66

Analyse d’un type de molécule biologique Cas avec conditions (garde if)

< Exemple> < Exemple>

molecule = "ADN" molecule = "ADN"

match molecule: match molecule:


case "ADN" | "ARN": case "ADN" | "ARN":
print("Acide nucléique") print("Acide nucléique")
case "Protéine": case "Protéine":
print("Macromolécule biologique") print("Macromolécule biologique")
case "Lipide" | "Glucide": case "Lipide" | "Glucide":
print("Molécule énergétique ou structurale") print("Molécule énergétique ou structurale")
case _: case _:
print("Type inconnu") print("Type inconnu")

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Premiers pas en programmation 67 Premiers pas en programmation 68

Exercice de cours Exercice de cours

Écris un programme qui :

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.")

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

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

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Les boucles 71 Les boucles 72

La boucle for permet d’exécuter plusieurs fois un bloc d’instructions,


pour chaque élément d’une séquence (liste, chaîne, intervalle La boucle for:
numérique, etc.).

< Exemple>
< Syntaxe> Affichage:

sequence = "ATCG" A
T
for variable in sequence: for base in sequence: C
bloc_d_instructions print(base) G

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

18
18/11/2025

Les boucles 73 Les boucles 74

La boucle for : La boucle for :

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

la boucle démarre à 1, s’arrête avant 10, et ajoute 2 à chaque tour.

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Les boucles 75 Les boucles 76

La boucle for : Instructions spéciales dans les boucles:

Variante : range(début, fin, pas) break: Arrêter la boucle immédiatement

< Exemple> < Exemple>


Affichage: Affichage:
somme = 0 for i in range(10):
for i in range(1, 6): La somme vaut: 15 0
if i == 5:
somme += i 1
break
print("La somme vaut :", somme) 2
print(i)
3
4

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

19
18/11/2025

Les boucles 77 Les boucles 78

Instructions spéciales dans les boucles:


La boucle while :
Continue: Passer à l’itération suivante

< Exemple> < Syntaxe> < Exemple>


Affichage:
for i in range(5): i=0
if i == 2: 0 while condition: while i < 5:
continue 1 bloc_d_instructions print("i =", i)
print(i) 3 i += 1
4

La boucle continue tant que la condition est vraie.

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Les boucles 79 Les boucles 80

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.

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

20
18/11/2025

Premiers pas en programmation 81 Premiers pas en programmation 82

Exercice de cours: Exercice de cours


Écris un programme qui : Écris un programme qui :
Affiche le carré des nombres de 1 à 5. Calcule la somme des nombres de 1 à 5.

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

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Premiers pas en programmation 83 Premiers pas en programmation 84

Exercice de cours Correction

# Demander le nombre initial de cellules


Écris un programme qui : cellules = int(input("Entrez le nombre initial de cellules : "))

# Initialiser le compteur d'heures


1. Demande à l’utilisateur un nombre de cellules initial. heures = 0 Affichage:
2. À chaque heure, la population double.
3. La boucle s’arrête quand la population dépasse 1 million. # Boucle : tant que la population ne dépasse pas 1 000 000 Entrez le nombre initial de cellules : 1000
while cellules <= 1_000_000: Nombre d'heures nécessaires : 10
4. Affiche le nombre d’heures nécessaires. cellules *= 2 # la population double
heures += 1 # on compte une heure de plus

# Affichage du résultat
print("Nombre d'heures nécessaires :", heures)

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

21
18/11/2025

Boucles Imbriquées: 85 Les boucles imbriquées: 86

• Une boucle imbriquée permet de répéter une action à l’intérieur


d’une autre répétition.

• 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

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Les boucles imbriquées: 87 Les boucles imbriquées: 88

Afficher un tableau de multiplication : Avec conditions à l’intérieur:


Affichage:
< Exemple>
1x1=1 < Exemple>
1x2=2
1x3=3
for i in range(1, 4): ----- Affichage:
for j in range(1, 4): 2x1=2 for i in range(1, 4):
print(i, "x", j, "=", i * j) 2x2=4 for j in range(1, 4): i et j sont égaux : 1
print("-----") # séparation visuelle 2x3=6 if i == j: i et j sont égaux : 2
----- print("i et j sont égaux :", i) i et j sont égaux : 3
3x1=3
3x2=6
3x3=9
-----

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

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, ...]

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Les listes 91 Les listes 92

Exemple: Accès aux éléments d’une liste:

• 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

Les listes 93 Les listes 94

Accès aux éléments d’une liste: Modification des éléments


Chaque élément d’une liste a un indice (position), qui commence à 0. • Les listes étant modifiables, on peut changer la valeur d’un élément
existant.
Syntaxe:
liste[indice] Exemple:
• fruits = ["pomme", "banane", "orange"]
< Exemple> • fruits[1] = "kiwi"
• print(fruits)

fruits = ["pomme", "banane", "orange"] Résultats d’affichage:


print(fruits[0]) # premier élément -> pomme Indice négatif:
-1 correspond au dernier élément, ['pomme', 'kiwi', 'orange']
print(fruits[1]) # deuxième élément ->
banane -2 à l’avant-dernier, etc.
print(fruits[-1]) # dernier élément -> orange

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Ajout et suppression d’éléments 95 Ajout et suppression d’éléments 96

Fonction d’ajout: Ajouter un élément :


[Link]("mangue") # ajoute à la fin
Méthode Description Exemple
append(x) ajoute à la fin [Link]("mangue")
Insérer à une position :
insert(i, x) insère à la position i [Link](1, "cerise")
ajoute tous les éléments d’une autre [Link](["ananas",
[Link](1, "raisin") # insère à l’index 1
extend(liste2)
liste "poire"])
Supprimer un élément :
Fonction de suppression: [Link]("kiwi") # supprime la valeur "kiwi"
Méthode Description Exemple
Supprimer par position :
remove(x) supprime le premier élément égal à x [Link]("pomme")
[Link](0) # supprime le premier élément
supprime l’élément à l’indice i (ou le dernier
pop(i) [Link](1)
par défaut)
del liste[i] supprime directement un élément del fruits[0] Supprimer toute la liste :
clear() vide complètement la liste [Link]() [Link]()

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

24
18/11/2025

Ajout et suppression d’éléments 97 Ajout et suppression d’éléments 98

Parcours d’une liste Parcours d’une liste avec indices (range et len):

< Exemple> < Exemple>

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

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

10
Les listes 99 Autre opérations sur les listes 0

Tranches (slicing):

Permet d’extraire une partie de la liste.


Opération Exemple Résultat
Longueur len(fruits) 3
Vérifier présence "pomme" in fruits True
nombres = [0, 1, 2, 3, 4, 5, 6] Compter [Link]("pomme") nombre d’occurrences
print(nombres[2:5]) # [2, 3, 4] Trouver position [Link]("orange") 2
print(nombres[:3]) # [0, 1, 2] Trier [Link]() trie par ordre alphabétique
print(nombres[4:]) # [4, 5, 6] Inverser [Link]() inverse l’ordre
print(nombres[::2]) # [0, 2, 4, 6] (un élément sur deux)

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

25
18/11/2025

10 10
Les listes 1
Les listes 2

Exemple: Exemple:

< 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)

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

10 10
Les listes 3
Les listes 4

Exemple avec calculs numériques Exercice:

Crée une liste de 5 entiers.


Affiche :
• le 1er élément
< Exemple> • le dernier élément
• la somme de tous les éléments

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)

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

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

data = {"name": "Wayne", "age": 45}


[Link]("name")
Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

10 10
Les Dictionnaires en Python 7
Les Dictionnaires en Python 8

Création d’un dictionnaire: Accès aux valeurs:

On accède à une valeur à partir de sa clé :


Exemple 1: Données d’un étudiant Exemple 2: En biologie
print(gene["nom"]) # BRCA1
print(gene["longueur"]) # 1863
< Exemple> < Exemple>

gene = { < Exemple>


etudiant = { "nom": "BRCA1",
"nom": "Sara", "espèce": "Homo sapiens", genes = {
"âge": 21, "longueur": 1863, "BRCA1": "ATGCGT",
"note": 15.5 "fonction": "réparation de "TP53": "TTGACA",
} l'ADN"
"CFTR": "GCTTGA"
}
}

print("Séquence de TP53 :", genes["TP53"])

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

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

Définitions: Exercice comparatif:


Structure Définition
Liste Collection ordonnée d’éléments accessibles par leur position (indice). Énoncé :
Collection non ordonnée d’éléments accessibles par une clé (nom, mot, Tu veux stocker les longueurs de trois gènes :
Dictionnaire
identifiant). BRCA1 = 1863, TP53 = 393, CFTR = 1480.
Syntaxe:
• Fais-le d’abord avec une liste.
Type Syntaxe Exemple • Puis avec un dictionnaire.
Liste [] notes = [15, 12, 18] • Affiche la longueur de TP53 dans les deux cas.
Dictionnaire {clé: valeur} etudiant = {"nom": "Sara", "note": 15}

Accès aux éléments:

Structure Méthode d’accès Exemple


Liste Par indice (entier) notes[0] # 15
Dictionnaire Par clé (nom symbolique) etudiant["nom"] # "Sara"

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Comparaison entre les Listes et les Dictionnaires en Python 111 Comparaison entre les Listes et les Dictionnaires en Python 112

Exercice comparatif:

Correction: Dictionnaire contenant des listes


Souvent, on veut stocker plusieurs valeurs pour une même clé.
# 1. Liste
On utilise alors une liste comme valeur dans le dictionnaire.
genes = ["BRCA1", "TP53", "CFTR"]
longueurs = [1863, 393, 1480]
print("Longueur de TP53 :", longueurs[[Link]("TP53")]) etudiants = {
"Ali": [12, 14, 16],
# 2. Dictionnaire "Sara": [15, 18, 17],
genes_dict = {"BRCA1": 1863, "TP53": 393, "CFTR": 1480}
"Youssef": [10, 13, 12]
print("Longueur de TP53 :", genes_dict["TP53"])
}
Résultat identique, mais :
• la liste demande une recherche manuelle avec .index() : plus lente. print(etudiants["Sara"]) # Affiche [15, 18, 17]
• le dictionnaire est plus direct et lisible. print(etudiants["Sara"][1]) # Affiche 18 (la 2e note)

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

28
18/11/2025

Comparaison entre les Listes et les Dictionnaires en Python 113 Comparaison entre les Listes et les Dictionnaires en Python 114

• Ajouter un nouvel élément: Exercice


Créez un dictionnaire cours contenant :
etudiants["Mina"] = [19, 17, 18] "Python" : [14, 15, 13, 17]
"Math" : [12, 10, 14, 11]
• Modifier une valeur (liste existante): "Physique" : [16, 18, 17, 19]
Affichez :
etudiants["Ali"].append(18) # ajoute une nouvelle note pour Ali 1. la moyenne de chaque matière
2. la matière avec la meilleure moyenne
• Supprimer un élément:

del etudiants["Youssef"]

Prof. Ichrak BENAMRI Prof. Ichrak BENAMRI

Comparaison entre les Listes et les Dictionnaires en Python 115

Correction:
cours = {
"Python": [14, 15, 13, 17],
"Math": [12, 10, 14, 11],
"Physique": [16, 18, 17, 19]
}

# Variables pour stocker la meilleure matière


meilleure_matiere = ""
meilleure_moyenne = 0

for matiere in cours:


notes = cours[matiere]
moyenne = sum(notes) / len(notes)
print(matiere, "→ moyenne =", moyenne)

# Vérifier si c'est la meilleure moyenne


if moyenne > meilleure_moyenne:
meilleure_moyenne = moyenne
meilleure_matiere = matiere
print(f"\n La meilleure matière est {meilleure_matiere} avec {meilleure_moyenne:.2f}") Prof. Ichrak BENAMRI

29

Vous aimerez peut-être aussi