Browse Source

Corrections suite au cours en ligne

master
Dimitri Merejkowsky 4 years ago
parent
commit
2e03a5be39
6 changed files with 67 additions and 24 deletions
  1. +20
    -4
      cours/source/06-listes/01-bases.rst
  2. +3
    -3
      cours/source/06-listes/02-iteration.rst
  3. +27
    -6
      cours/source/06-listes/03-booléens.rst
  4. +13
    -7
      cours/source/06-listes/04-strings.rst
  5. +2
    -2
      cours/source/06-listes/05-exercice.rst
  6. +2
    -2
      cours/source/06-listes/index.rst

+ 20
- 4
cours/source/06-listes/01-bases.rst View File

@@ -46,21 +46,37 @@ Concaténation de listes


Avec ``+``:: Avec ``+``::


prénoms = ["Alice", "Bob"]
prénoms += ["Charlie", "Eve"]
prénoms_1 = ["Alice", "Bob"]
prénoms_2 = ["Charlie", "Eve"]
prénoms = prénoms_1 + prénoms_2

print(prénoms) print(prénoms)
# affiche: ['Alice', 'Bob', "Charlie", 'Eve'] # affiche: ['Alice', 'Bob', "Charlie", 'Eve']


On ne peut concaténer des listes que avec d'autres listes:: On ne peut concaténer des listes que avec d'autres listes::


scores = [1, 2, 3] scores = [1, 2, 3]
scores += 4
scores = scores + 4
# erreur # erreur


scores += [4]
scores = [1, 2, 3]
scores = scores + [4]
print(scores) print(scores)
# affiche: [1,2,3,4] # affiche: [1,2,3,4]


On peut aussi utiliser ``+=`` pour combiner l'assignation et la Concaténation,
comme avec les nombres::

a = 3
a += 2
print(a)
# Affiche: 5

x = [1, 2]
x += [3, 4, 5]
print(x)
# Affiche: [1, 2, 3, 4, 5]

Indexer une liste Indexer une liste
------------------ ------------------




+ 3
- 3
cours/source/06-listes/02-iteration.rst View File

@@ -4,7 +4,7 @@ Itération
Itérer sur les éléments d'une liste Itérer sur les éléments d'une liste
------------------------------------ ------------------------------------


Avec les mots-clés ``for`` et `` in``::
Avec les mots-clés ``for`` et ``in``::


prénoms = ["Alice", "Bob", "Charlie"] prénoms = ["Alice", "Bob", "Charlie"]
for prénom in prénoms: for prénom in prénoms:
@@ -32,12 +32,12 @@ Comme pour les boucles `while`, on peut interrompre la boucle `for` avec `break`
.. code-block:: text .. code-block:: text


Bonjour Alice Bonjour Alice
Bonjour Charlie
Bonjour Bob


continue continue
-------- --------


On peut interrompre l'exécution *du bloc courant* (et uniqument le
On peut interrompre l'exécution *du bloc courant* (et uniquement le
bloc courant) avec le mot-clé ``continue``:: bloc courant) avec le mot-clé ``continue``::


prénoms = ["Alice", "Bob", "Charlie"] prénoms = ["Alice", "Bob", "Charlie"]


cours/source/06-listes/04-booléens.rst → cours/source/06-listes/03-booléens.rst View File

@@ -9,11 +9,15 @@ la liste n'est pas vide , ``if`` se comportera comme si on avait mis une valeur


ma_liste = [1, 2, 3] ma_liste = [1, 2, 3]
if ma_liste: if ma_liste:
print("ma_liste n'est pas vide")
# affiche: ma_liste n'est pas vide
print("ma_liste est truthy")
else:
print("ma_liste est falsy")
# affiche: ma_liste est truthy


mon_autre_liste = [] mon_autre_liste = []
if not mon_autre_liste:
if mon_autre_liste:
print("mon_autre_liste n'est pas vide")
else:
print("mon_autre_liste est vide") print("mon_autre_liste est vide")
# affiche: mon_autre_liste est vide # affiche: mon_autre_liste est vide


@@ -42,7 +46,24 @@ d'autres. Les listes seront considérées comme égales si
* Elles ont la même taille * Elles ont la même taille
* Tous leurs éléments sont égaux un à un en respectant l'ordre:: * Tous leurs éléments sont égaux un à un en respectant l'ordre::


[1] == [2] # False
[1, 2] == [2, 1] # False
[1, 2] == [1, 2] # True
x = [1]
y = [1, 2]
print(x == y)
# Affiche False: x et y n'ont pas la même taille


x = [1, 2]
y = [1, 3]
print(x == y)
# Affiche False: x et y n'ont pas les mêmes éléments

x = [1, 2]
y = [2, 1]
print(x == y)
# Affiche False: x et y ont les mêmes éléments, mais
# pas dans le bon ordre

x = [1, 2]
y = [1]
y += [2]
print(x == y)
# Affiche True: x et y ont les mêmes éléments, dans le même ordre

cours/source/06-listes/03-strings.rst → cours/source/06-listes/04-strings.rst View File

@@ -3,12 +3,12 @@ Relation avec les strings


Les strings sont aussi des listes (presque). Les strings sont aussi des listes (presque).


On peut itérer sur les caractères d'une string::
On peut itérer sur les *caractères* d'une string::


for c in "vache": for c in "vache":
print(c) print(c)


.. code-block: console
.. code-block:: console


v v
a a
@@ -21,20 +21,26 @@ On peut tester si un caractère est présent::
print("e" in "vache") print("e" in "vache")
# affiche: True # affiche: True


print(x" in "vache")
print("x" in "vache")
# affiche: False # affiche: False




Mais on ne peut pas modifier une string::
Notez qu'on peut aussi utiliser ``in`` pour tester si
une chaîne de caractères est contenue dans une autre::

print("ch" in "vache")
# affiche: True

On peut indexer une string::


prénom = "Charlotte" prénom = "Charlotte"
l = prénom[0] l = prénom[0]
print(l) print(l)
# affiche: "C" # affiche: "C"


l = prénom[3]
print(l)
# affiche: "r"
Mais on ne peut pas modifier une string en utilisant
l'indexation::


prénom = "Charlotte"
prénom[0] = "X" prénom[0] = "X"
# erreur: TypeError # erreur: TypeError

+ 2
- 2
cours/source/06-listes/05-exercice.rst View File

@@ -42,9 +42,9 @@ Consignes


* À ce stade, vous devriez constater plusieurs problèmes: * À ce stade, vous devriez constater plusieurs problèmes:


* Au lieu d'avoir un mot au hasard, le mot à deviner est toujours "accord"
* Au lieu d'avoir un mot au hasard, le mot à deviner est toujours ``accord``
* Au lieu d'afficher un indice, le code affiche une liste de tentatives * Au lieu d'afficher un indice, le code affiche une liste de tentatives
* Le jeu est impossible à gagner parce que la fonction `a_gagné` renvoie toujours False
* Le jeu est impossible à gagner parce que la fonction ``a_gagné`` renvoie toujours ``False``


Le but de l'exercice est de corriger ces 3 problèmes. Le but de l'exercice est de corriger ces 3 problèmes.



+ 2
- 2
cours/source/06-listes/index.rst View File

@@ -6,8 +6,8 @@ Chapitre 6 - Listes


./01-bases.rst ./01-bases.rst
./02-iteration.rst ./02-iteration.rst
./03-strings.rst
./04-booléens.rst
./03-booléens.rst
./04-strings.rst
./05-exercice.rst ./05-exercice.rst