# Introduction à la programmation avec Python (chapitre 2)
E2L
Dimitri Merejkowsky
---
# Session 2
---
Note:
* La présentation est en ligne [sur mon site](https://dmerej.info/pub/cours-python/chapitre-01)
* Les sources sont [sur GitHub](https://github.com/E2L/cours-python/tree/master/sources).
* Mais il vaut mieux **recopier** le code vous-mêmes.
----
# Plan
* Retour sur le chapitre 1
* Structures de données
* Fonctions
---
# Retour sur input()
!python
# À adapter
secret = random.randint()
print("Devine le nombre auquel je pense")
while True:
reponse = input("Ta réponse: ")
response = int(response)
...
---
# Retour sur print()
!python
a = 1
b = 2
print("a=", 1, "b=2")
* `print()` insère des espaces
* et va à la ligne
---
# Retour sur print()
!python
a = 1
b = 2
print("a=", 1, "b=2", sep="", end="$")
---
# Retour sur les strings
---
# Répéter une string
!pycon
>>> "argh " * 3
argh argh argh
---
# Faire une longue string sur plusieurs lignes
!python
poeme = """\
Ceci est un poème
Qui contient "des quotes"
Et parle d'autre choses ...
"""
Marche aussi avec des "triples-simple-quotes", mais c'est moins lisible :P
---
# Concaténer des strings
!python
message = (
"Première ligne\n"
"Deuxième ligne\n"
)
Les parenthèse permettent d'aller à la ligne dans le code :)
---
# Slicer des strings
!pycon
>>> message = "Bonjour, monde !"
>>> message[0] # ça commence à zéro
"B"
>>> message[15]
"!"
>>>> message[-1] # compter à l'envers
"!"
---
# Slicer des strings (2)
!pycon
>>> message = "Bonjour, monde !"
>>> message[1:4] # début, fin
'onj'
>>> message[:7] # début implicite
'Bonjour'
>>> message[9:-2] # fin négative
'monde'
---
# Listes
---
# Créer une liste
!pycon
>>> my_list = [] # liste vide
>>> primes = [2, 3, 5, 7, 11] # liste d'entiers
---
# Listes hétérogènes
On peut mettre des types différents dans une même liste:
!pycon
>>> pommes_et_carottes = [True, 2, "three"]
Et même des listes dans des listes:
!pycon
>>> liste_de_liste = [[1, 2, 3], ["one", "two", "three"]]
----
# Slicer des listes
Même principe que pour les strings!
!pycon
>>> liste = [1, 2, 3]
>>> liste[0:2]
[1, 2]
---
# Modifier une liste
!pycon
>>> liste = [1, 2, 3]
>>> liste[1] = 4
>>> liste
[1, 4, 3]
*Attention*: ça ne marche pas avec les strings:
!pycon
>>> message = "Bonjour, monde !"
>>> message[-1] = "?"
TypeError: 'str' object does not support item assignment
---
# Boucles for
Itérer sur les éléments d'une liste:
!python
names = ["Alice", "Bob", "Charlie"]
for name in names:
print("Bonjour", name)
Bonjour Alice
Bonjour Bob
Bonjour Charlie
---