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

Python Part4

Le document présente des exercices et des solutions en Python, notamment sur la construction d'une pyramide avec des blocs et l'hypothèse de Collatz. Il décrit également les opérations logiques et la manipulation de bits, en expliquant les opérateurs logiques (and, or, not) et bit à bit (&, |, ~, ^) avec des exemples. Enfin, il aborde les différences entre les opérations logiques et les opérations sur les bits.

Transféré par

safae eljaafari
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)
14 vues28 pages

Python Part4

Le document présente des exercices et des solutions en Python, notamment sur la construction d'une pyramide avec des blocs et l'hypothèse de Collatz. Il décrit également les opérations logiques et la manipulation de bits, en expliquant les opérateurs logiques (and, or, not) et bit à bit (&, |, ~, ^) avec des exemples. Enfin, il aborde les différences entre les opérations logiques et les opérations sur les bits.

Transféré par

safae eljaafari
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

16/12/2024

Solution
total_blocks = int(input("Enter the number of blocks: "))
height = 0
blocks_used = 0
layer = 1
while blocks_used + layer <= total_blocks:
blocks_used += layer
height += 1
layer += 1
print("The height of the pyramid:", height)
Pr. MERZOUK Soukaina 165

165

LAB: L'Hypothèse de Collatz : Explorons


l'Infini avec Python !
"Une conjecture mathématique fascinante qui défie encore les
chercheurs.
"Problème formulé par Lothar Collatz en 1937.
Objectif :
vérifier si un entier naturel aboutit toujours à 1 en suivant des
règles spécifiques.

Pr. MERZOUK Soukaina 166

166
16/12/2024

LAB: L'Hypothèse de Collatz : Explorons


l'Infini avec Python !
Mission:
Ecrire un programme qui :
Prend un entier naturel non nul nommé c0.
Si c0 est pair : calculer c0 = c0 ÷ 2.
Sinon, s'il est impair : calculer c0 = 3 × c0 + 1.
Répéter ces étapes jusqu'à ce que c0 atteigne 1.
Compter le nombre d'étapes nécessaires et afficher toutes les
Entrée Sortie
valeurs intermédiaires. 15 46, 23, 70, 35, 106, 53, 160, 80, 40,
20, 10, 5, 16, 8, 4, 2, 1
Exemple de Résultat Attendu
Nombre d'étapes : 17
Pr. MERZOUK Soukaina
16 8, 4, 2, 1 167
Nombre d'étapes : 4
167

LAB: L'Hypothèse de Collatz : Explorons


l'Infini avec Python !
Solution
c0 = int(input("Entrez un entier naturel différent à 0: "))
steps = 0
if c0 > 0:
while c0 != 1:
if c0 % 2 == 0:
c0 //= 2
else:
c0 = 3 * c0 + 1
print(c0)
steps += 1
Pr. MERZOUK Soukaina 168

168
16/12/2024

LAB: L'Hypothèse de Collatz : Explorons


l'Infini avec Python !
Solution
c0 = int(input("Entrez un entier naturel différent à 0: "))
steps = 0
if c0 > 0:
while c0 != 1:
if c0 % 2 == 0:
c0 //= 2
else:
c0 = 3 * c0 + 1
print(c0)
steps += 1
print("Nombre d'étapes :", steps)
else:
print("Veuillez entrer un nombre naturel valide.")
Pr. MERZOUK Soukaina 169

169

Quiz
Question 1 : Créez une boucle for qui compte de 0 à 10 et affiche
les nombres impairs à l'écran. Utilisez le squelette ci-dessous :
for i in range(1, 11):
# Ligne de code.
# Ligne de code.

for i in range(0, 11):


if i % 2 != 0:
Pr. MERZOUK Soukaina
print(i) 170

170
16/12/2024

Quiz
Question 2 : Créez une boucle while qui compte de 0 à 10 et affiche
les nombres impairs à l'écran. Utilisez le squelette ci-dessous :
x = 1 x = 1
while x < 11 : while x < 11:
# Ligne de code. if x % 2 != 0:
# Ligne de code. print(x)
# Ligne de code. x += 1

Pr. MERZOUK Soukaina 171

171

Quiz
Question 3 : Créez un programme avec une boucle for et une
instruction break. Le programme doit parcourir les caractères d'une
adresse e-mail, quitter la boucle lorsqu'il atteint le symbole @ et
imprimer la partie avant @ sur une ligne. Utilisez le squelette ci-
dessous :
for ch in "[email protected]":
if ch == "@": for ch in
"[email protected]":
# Ligne de code. if ch == "@":
# Ligne de code. break
print(ch, end="")
Pr. MERZOUK Soukaina 172

172
16/12/2024

Opérations Logiques et Manipulation de Bits

En programmation, les conditions permettent de prendre des décisions


en fonction de certaines situations. Dans la vie quotidienne, ces
décisions sont souvent basées sur des combinaisons complexes de
critères. Par exemple :
Si le temps est libre ET si la météo est bonne, alors on peut se
promener.
Si je suis au centre commercial OU si tu y es, alors un cadeau sera
acheté.
Deux concepts logiques fondamentaux : la conjonction (ET) et la
disjonction (OU).
Pr. MERZOUK Soukaina 173

173

Opérations Logiques et Manipulation de Bits

Pourquoi Utiliser la Logique Informatique ?


Modéliser des situations réelles dans le code.
Permettre une prise de décision efficace en fonction de plusieurs
conditions.
Réduire la complexité des conditions grâce à des opérateurs
logiques.
Python offre trois opérateurs pour gérer ces situations : and, or, et
not, qui s'appuient sur des règles précises appelées tableaux de
vérité.
Pr. MERZOUK Soukaina 174

174
16/12/2024

Opérations Logiques et Manipulation de Bits

Opérateur and : La Conjonction Logique


L’opérateur and est un opérateur binaire utilisé pour exprimer une
conjonction logique.
Cela signifie qu'une condition globale est vraie seulement si toutes les
sous-conditions sont également vraies.
Il a une priorité plus basse que les opérateurs de comparaison (comme
>, <, ==), ce qui permet d'écrire des conditions complexes sans
parenthèses supplémentaires.
Exemple :
counter > 0 and value == 100
Pr. MERZOUK Soukaina 175

175

Opérations Logiques et Manipulation de Bits

Opérateur and : La Conjonction Logique


Tableau de Vérité de and :
On considère deux expressions logiques, A et B, les résultats
possibles pour A and B :

A (Condition 1) B (Condition 2) A and B (Résultat)


True True True
True False False
False True False
False False False
Pr. MERZOUK Soukaina 176

176
16/12/2024

Opérations Logiques et Manipulation de Bits

Opérateur or : Disjonction Logique


L’opérateur or est un opérateur binaire utilisé pour exprimer une
disjonction logique.
Cela signifie qu'une condition globale est vraie si au moins l'une des
sous-conditions est vraie.
Il a une priorité plus faible que and, tout comme l'addition (+) a une
priorité plus faible que la multiplication (*).
Exemple :
counter < 0 or value == 100
Pr. MERZOUK Soukaina 177

177

Opérations Logiques et Manipulation de Bits

Opérateur or : Disjonction Logique


Tableau de Vérité de or :
Si on considère deux expressions logiques, A et B, voici les
résultats possibles pour A or B :
A (Condition 1) B (Condition 2) A or B (Résultat)
True True True
True False True
False True True
False False False
Pr. MERZOUK Soukaina 178

178
16/12/2024

Opérations Logiques et Manipulation de Bits

Opérateur not : Négation Logique


L’opérateur not un opérateur unaire utilisé pour inverser une
condition. Il transforme une condition vraie en faux, et une condition
fausse en vrai.
Sa priorité est plus élevée que les opérateurs and et or.
Exemple :
Condition initiale : Si "il pleut" est vrai.
Avec not : La condition devient "il ne pleut pas".

Pr. MERZOUK Soukaina 179

179

Opérations Logiques et Manipulation de Bits

Opérateur not : Négation Logique


Tableau de Vérité :

Condition not Condition (Résultat)


Vrai Faux
Faux Vrai

Pr. MERZOUK Soukaina 180

180
16/12/2024

Opérations Logiques et Manipulation de Bits


Expressions Logiques
Les expressions logiques permettent de combiner ou de manipuler
des conditions pour rendre les décisions plus flexibles.
Exemple 1 : Deux conditions équivalentes
var = 1
print(var > 0) # Vérifie si var est supérieur à 0
print(not (var <= 0)) # Négation de "var <= 0 "
Exemple 2 : Deux autres conditions équivalentes
print(var != 0) # Vérifie si var est différent de 0
print(not (var == 0)) # Négation de "var == 0"
Pr. MERZOUK Soukaina 181

181

Opérations Logiques et Manipulation de Bits

Expressions Logiques
Les lois de De Morgan décrivent la transformation logique entre
conjonctions et disjonctions sous l'effet d'une négation :
La négation d’une conjonction (and) devient une disjonction (or)
des négations :
not (p and q) == (not p) or (not q)
La négation d’une disjonction (or) devient une conjonction (and)
des négations :
not (p or q) == (not p) and (not q)
Pr. MERZOUK Soukaina 182

182
16/12/2024

Opérations Logiques et Manipulation de Bits

Valeurs Logiques vs Bits Uniques


Les opérateurs logiques traitent leurs arguments comme des entités
globales, peu importe le nombre de bits qu’ils contiennent :
Une valeur zéro (tous les bits à 0) est interprétée comme False.
Une valeur non nulle (au moins un bit à 1) est interprétée comme
True.

Pr. MERZOUK Soukaina 183

183

Opérations Logiques et Manipulation de Bits

Valeurs Logiques vs Bits Uniques


Exemple : Le code suivant illustre comment une valeur numérique est
transformée en booléen logique :
i = 1
j = not not i
Si i est non nul, j reçoit True.
Si i est nul, j reçoit False.
Résultat : Les opérateurs logiques produisent toujours une valeur
booléenne : True si la condition est remplie. False sinon.

Pr. MERZOUK Soukaina 184

184
16/12/2024

Opérations Logiques et Manipulation de Bits

Opérateurs Bit à Bit


Les opérateurs bit à bit permettent de manipuler les bits individuels
d'une donnée. Contrairement aux opérateurs logiques, ces opérateurs
travaillent directement au niveau binaire.
Liste des opérateurs bit à bit :
& (et logique) : Conjonction bit à bit.
| (ou logique) : Disjonction bit à bit.
~ (non logique) : Négation bit à bit.
^ (ou exclusif ou XOR) : Disjonction exclusive bit à bit.
Pr. MERZOUK Soukaina 185

185

Opérations Logiques et Manipulation de Bits

Opérateurs Bit à Bit


Règles de fonctionnement :
& : Retourne 1 uniquement si les deux bits sont 1.
| : Retourne 1 si au moins un des bits est 1.
^ : Retourne 1 si exactement un des bits est 1.

Pr. MERZOUK Soukaina 186

186
16/12/2024

Opérations Logiques et Manipulation de Bits

Opérateurs Bit à Bit


Exemple : Imaginons deux nombres entiers a et b :
a = 6 # 0b0110
b = 3 # 0b0011
print(a & b) # Résultat : 2 (0b0010)
print(a | b) # Résultat : 7 (0b0111)
print(a ^ b) # Résultat : 5 (0b0101)
print(~a) # Résultat : -7 (complément à deux de 0b0110)
Contraintes : Ces opérateurs nécessitent des arguments entiers (pas
de flottants).
Pr. MERZOUK Soukaina 187

187

Opérations Logiques et Manipulation de Bits


Opérateurs Bit à Bit
Tableaux de vérité de &, |, et ^
A B A&B A|B A^B
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0

Tableaux de vérité de ~ Argument ~ Argument


0 1
Pr. MERZOUK Soukaina 1 0 188

188
16/12/2024

Opérations Logiques et Manipulation de Bits

Opérateurs Bit à Bit


Différence avec les opérateurs logiques :
Opérateurs logiques : Évaluent le résultat global d'un entier (0 ou non
nul).
Opérateurs bit à bit : Travaillent bit par bit, en analysant chaque paire
de bits séparément.
Ainsi, avec des processeurs modernes de 64 bits, chaque opérateur
effectue jusqu'à 64 évaluations simultanées sur chaque bit des
arguments.
Pr. MERZOUK Soukaina 189

189

Opérations Logiques et Manipulation de Bits

Différences entre opérations logiques et opérations sur les bits


Contexte :
Deux variables entières sont définies avec 32 bits chacune :
i = 15 : 00000000000000000000000000001111
j = 22 : 00000000000000000000000000010110
Les opérations logiques et les opérations sur les bits sont appliquées,
produisant des résultats différents.

Pr. MERZOUK Soukaina 190

190
16/12/2024

Opérations Logiques et Manipulation de Bits


Différences entre opérations logiques et opérations sur les bits
Conjonction logique : log = i and j
Analyse : i et j ne sont pas nulles, donc elles sont considérées
comme True.
Résultat : log = True
Conjonction bit à bit : bit = i & j
Analyse : Chaque paire de bits correspondants est évaluée avec &.
i : 00000000000000000000000000001111
j : 00000000000000000000000000010110
Résultat : 00000000000000000000000000000110
Résultat : bit = 6
Pr. MERZOUK Soukaina 191

191

Opérations Logiques et Manipulation de Bits

Différences entre opérations logiques et opérations sur les bits


Négation logique : logneg = not i
Analyse : La valeur logique de i est True, donc sa négation est False.
Résultat : logneg = False
Négation bit à bit : bitneg = ~i
Analyse : La négation bit à bit inverse tous les bits de i. En utilisant
la représentation en complément à deux.
i : 00000000000000000000000000001111
~i : 11111111111111111111111111110000 (-16 en décimal)
Résultat : bitneg = -16
Pr. MERZOUK Soukaina 192

192
16/12/2024

Opérations Logiques et Manipulation de Bits


Différences entre opérations logiques et opérations sur les bits
Les notations abrégées
Ces opérateurs peuvent être utilisés sous forme abrégée pour
effectuer des opérations et des affectations simultanément :
Opérations logiques : and=, or=, etc., non disponibles en Python.
Opérations sur les bits :
i &= j # Équivalent à i = i & j
i |= j # Équivalent à i = i | j
i ^= j # Équivalent à i = i ^ j
i <<= 1 # Décale les bits à gauche
i >>= 1
Pr. MERZOUK Soukaina
# Décale les bits à droite 193

193

Opérations Logiques et Manipulation de Bits

Manipulation des Bits : Comment Gérer des Bits Individuels


Contexte
Exemple de situation :
Un registre, flag_register, stocke des informations de
fonctionnement du système.
Chaque bit représente un état « oui/non ».
Le 3e bit (numéroté à partir de 0) vous appartient, et vous devez
le manipuler sans modifier les autres.

Pr. MERZOUK Soukaina 194

194
16/12/2024

Opérations Logiques et Manipulation de Bits

Manipulation des Bits : Comment Gérer des Bits Individuels


Initialisation :
flag_register = 0b00000000000000000000000000001101
Le 3e bit est actuellement à 1.
Pour cibler ce bit, un masque est utilisé :
# Valeur décimale : 8
the_mask = 0b00000000000000000000000000001000

Pr. MERZOUK Soukaina 195

195

Opérations Logiques et Manipulation de Bits

Manipulation des Bits : Comment Gérer des Bits Individuels


1. Vérification de l’État du 3e Bit
Utilisation de l’opérateur ET (&)
pour tester si le 3e bit est activé (1) ou désactivé (0).
if flag_register & the_mask:
print("Le 3e bit est activé (1).")
else:
print("Le 3e bit est désactivé (0).")
Résultat : "Le 3e bit est activé (1)."

Pr. MERZOUK Soukaina 196

196
16/12/2024

Opérations Logiques et Manipulation de Bits

Manipulation des Bits : Comment Gérer des Bits Individuels


2. Réinitialisation du 3e Bit
Pour remettre le 3e bit à 0 tout en conservant les autres, on utilise
l’opérateur ET avec un masque inversé (~the_mask).
flag_register = flag_register & ~the_mask
print(bin(flag_register))

Pr. MERZOUK Soukaina 197

197

Opérations Logiques et Manipulation de Bits

Manipulation des Bits : Comment Gérer des Bits Individuels


2. Réinitialisation du 3e Bit
Calcul :
flag_register = 0b00000000000000000000000000001101 &
0b11111111111111111111111111110111
Résultat :
flag_register = 0b00000000000000000000000000000101
# Le 3e bit est maintenant à 0.

Pr. MERZOUK Soukaina 198

198
16/12/2024

Opérations Logiques et Manipulation de Bits


Manipulation des Bits : Comment Gérer des Bits Individuels
3. Activation du 3e Bit
Pour mettre le 3e bit à 1 sans modifier les autres, on utilise
l’opérateur OU (|).
flag_register = flag_register | the_mask
print(bin(flag_register))
Calcul :
flag_register = 0b00000000000000000000000000000101 |
0b00000000000000000000000000001000
Résultat : flag_register = 0b00000000000000000000000000001101
# Le 3e bit est activé (1).
Pr. MERZOUK Soukaina 199

199

Opérations Logiques et Manipulation de Bits


Manipulation des Bits : Comment Gérer des Bits Individuels
4. Inversion du 3e Bit
Pour basculer le 3e bit (de 1 à 0 ou de 0 à 1), on utilise l’opérateur
XOR (^).
flag_register = flag_register ^ the_mask
print(bin(flag_register))
Calcul :
flag_register = 0b00000000000000000000000000001101 ^
0b00000000000000000000000000001000
Résultat : flag_register = 0b00000000000000000000000000000101
# Le 3e bit est inversé (0).Récapitulatif d
Pr. MERZOUK Soukaina 200

200
16/12/2024

Opérations Logiques et Manipulation de Bits


Manipulation des Bits : Comment Gérer des Bits Individuels
Récapitulatif des Opérations

Résultat
Opération Résultat Binaire
Décimal
Vérifier 0b00000000000000000000000000001000 8
Réinitialiser 0b00000000000000000000000000000101 5
Activer 0b00000000000000000000000000001101 13
Inverser 0b00000000000000000000000000000101 5

Pr. MERZOUK Soukaina 201

201

Opérations Logiques et Manipulation de Bits

Décalage Binaire
Concept
Le décalage binaire permet de manipuler les bits d'un nombre entier.
Il est utilisé uniquement avec des entiers (les nombres à virgule
flottante ne sont pas acceptés).
Opérations principales :
Décalage à gauche (<<) : Multiplication par 2.
Décalage à droite (>>) : Division entière par 2.
Ces opérations sont non-commutatives.

Pr. MERZOUK Soukaina 202

202
16/12/2024

Opérations Logiques et Manipulation de Bits

Décalage Binaire
Hiérarchie des Opérations
Les opérateurs de décalage binaire (<<, >>) ont une priorité
élevée.
Utilisés fréquemment en programmation système et optimisation
d'algorithmes.

Pr. MERZOUK Soukaina 203

203

Opérations Logiques et Manipulation de Bits


Décalage Binaire
Analogie avec les Nombres Décimaux
Exemples :
Multiplication par 10 :
12345×10=12345012345×10=123450
Correspond à un décalage à gauche des chiffres, comblé par un
zéro.
Division par 10 :1
2340÷10=123412340÷10=1234
Correspond à un décalage à droite, supprimant le chiffre le plus à
droite.
Pr. MERZOUK Soukaina 204

204
16/12/2024

Opérations Logiques et Manipulation de Bits

Décalage Binaire
Fonctionnement en Binaire
Règles pour les Opérations Binaires :
Décalage à gauche (<<) :
Multiplie par 2n (où n est le nombre de bits décalés).
Décalage à droite (>>) :
Divise par 2n (division entière).

Pr. MERZOUK Soukaina 205

205

Opérations Logiques et Manipulation de Bits

Décalage Binaire
Fonctionnement en Binaire
Exemple :
17>>1 :
17 ÷ 21= 8 (division entière).
Décalage à droite d’un bit.
17 << 2 :
17 × 22 = 68
Décalage à gauche de deux bits.
Pr. MERZOUK Soukaina 206

206
16/12/2024

Opérations Logiques et Manipulation de Bits

Décalage Binaire
Illustration en Binaire
Déplacement des Bits
Valeur : 17 (0001 00010001 0001 en binaire)
Décalage à droite de 1 bit (>>1) :
Résultat : 0000 10000000 1000 (88 en décimal).
Décalage à gauche de 2 bits (<<2) :
Résultat : 0100 01000100 0100 (6868 en décimal).

Pr. MERZOUK Soukaina 207

207

Quiz

Question 1 : Quel est le résultat de l’extrait suivant ?


x = 1
y = 0
z = ((x == y) and (x == y)) or not(x == y)
print(not(z))
False

Pr. MERZOUK Soukaina 208

208
16/12/2024

Quiz

Question 2 : Quel est le résultat de l’extrait suivant ?


x = 4
y = 1
a = x & y
b = x | y 0 5 -5 1 1 16
c = ~x # tricky!
d = x ^ 5
e = x >> 2
f = x << 2
print(a, b, c, d, e, f)
Pr. MERZOUK Soukaina 209

209

Listes

Pourquoi les listes sont-elles nécessaires ?


Traiter un grand nombre de valeurs (dizaines, centaines ou milliers)
peut être complexe avec des variables classiques.
Exemple : Déclarer et utiliser une variable pour chaque valeur :
var1 = int(input())
var2 = int(input())
# Jusqu'à var1000
Solution inefficace et chronophage.

Pr. MERZOUK Soukaina 210

210
16/12/2024

Listes

Pourquoi les listes sont-elles nécessaires ?


Limites des variables classiques.
Les variables classiques stockent une seule valeur (on les appelle
scalaires).
Inconvénient : Pas pratique pour gérer un grand volume de
données.
Solution : Utiliser une liste pour regrouper plusieurs valeurs sous
une même variable.

Pr. MERZOUK Soukaina 211

211

Listes

Qu’est-ce qu’une liste ?


Une liste peut stocker plusieurs valeurs dans une seule variable :
numbers = [10, 5, 7, 2, 1]
Caractéristiques :
Les éléments de la liste sont numérotés à partir de 0 (indexation).
Les éléments peuvent être de types différents (entiers, flottants,
etc.).

Pr. MERZOUK Soukaina 212

212
16/12/2024

Listes

Exemple
Créer une liste contenant 5 nombres :
numbers = [10, 5, 7, 2, 1]
Identifier chaque élément par son index :
numbers[0] = 10 (premier élément)
numbers[4] = 1 (dernier élément si la liste a 5 valeurs).

Pr. MERZOUK Soukaina 213

213

Listes

Comment modifier des éléments dans une liste ?


Les listes permettent de changer la valeur d’un élément via son index :
numbers = [10, 5, 7, 2, 1]
numbers[0] = 111 # Modifie le premier élément
print(numbers) # Résultat : [111, 5, 7, 2, 1]
Copier la valeur d’un élément dans un autre :
numbers[1] = numbers[4] # Copie le cinquième élément
dans le deuxième
print(numbers) # Résultat : [111, 1, 7, 2, 1]
Pr. MERZOUK Soukaina 214

214
16/12/2024

Listes

Déterminer la longueur d’une liste


La fonction len() retourne le nombre d’éléments dans une liste :
print(len(numbers)) # Longueur de la liste
Les listes sont dynamiques : des éléments peuvent être ajoutés ou
supprimés à tout moment.

Pr. MERZOUK Soukaina 215

215

Listes

Supprimer des éléments d’une liste


Utilisation de l’instruction del pour supprimer un élément :
del numbers[1] # Supprime le deuxième élément
print(numbers) # Résultat : [111, 7, 2, 1]
Attention : un élément supprimé n’est plus accessible !

Pr. MERZOUK Soukaina 216

216
16/12/2024

Listes

Les indices négatifs dans les listes


Un indice négatif permet d’accéder aux éléments en partant de la fin :
numbers[-1] → Dernier élément.
numbers[-2] → Avant-dernier élément.
Exemple :
(numbers[-1]) # Affiche 1
print(numbers[-2]) # Affiche 2
Les indices négatifs offrent une grande flexibilité pour parcourir les
listes.
Pr. MERZOUK Soukaina 217

217

Listes

Erreurs à éviter
Essayer d’accéder à un indice inexistant provoque une erreur
d’exécution :
print(numbers[4]) # Erreur si l’élément n’existe pas
Toujours vérifier la longueur de la liste avec len() avant d’accéder à
un élément.

Pr. MERZOUK Soukaina 218

218
16/12/2024

LAB: Les bases des listes

Il était une fois un chapeau. Ce chapeau ne contenait pas de lapin,


mais une liste de cinq nombres : 1, 2, 3, 4 et 5.
Objectif du défi :
Étape 1 : Remplacer le nombre du milieu dans la liste par un
entier saisi par l'utilisateur.
Étape 2 : Supprimer le dernier élément de la liste.
Étape 3 : Afficher la longueur de la liste actuelle.

Pr. MERZOUK Soukaina 219

219

LAB: Les bases des listes

Code Initial
hat_list = [1, 2, 3, 4, 5] # Liste initiale cachée dans le
chapeau
# Étape 1 : Remplacer le nombre du milieu par un nombre
entier saisi par l'utilisateur
# Étape 2 : Supprimer le dernier élément de la liste
# Étape 3 : Afficher la longueur actuelle de la liste

print(hat_list)

Pr. MERZOUK Soukaina 220

220

Vous aimerez peut-être aussi