Bläddra i källkod

Latex for the win

master
Dimitri Merejkowsky 6 år sedan
förälder
incheckning
35c2b8403a
2 ändrade filer med 249 tillägg och 202 borttagningar
  1. +0
    -202
      sessions/python-02.md
  2. +249
    -0
      sessions/python-02.tex

+ 0
- 202
sessions/python-02.md Visa fil

@@ -1,202 +0,0 @@
# Introduction à la programmation avec Python (chapitre 2)



<p align="right">
E2L <br />
Dimitri Merejkowsky <br />
</p>

---

# Session 2

---

Note:

* 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

---

+ 249
- 0
sessions/python-02.tex Visa fil

@@ -0,0 +1,249 @@
\documentclass{beamer}

\usepackage[utf8]{inputenc}
\usepackage{hyperref}
\usepackage{minted}

\usetheme{Madrid}

\hypersetup{colorlinks=true}

\title{Introduction à la programmation avec Python (chapitre 2)}
\author{Dimitri Merejkowsky}
\institute{E2L}

\begin{document}

\frame{\titlepage}

\begin{frame}

\frametitle{Session 2}

\end{frame}

\begin{frame}

Note: \\~\\


Les sources sont
\href{https://github.com/E2L/cours-python/tree/master/sources}{sur GitHub}. \\~\\


Mais il vaut mieux recopier le code vous-mêmes.

\end{frame}


\begin{frame}

\frametitle{Plan}

\begin{itemize}
\item Retour sur le chapitre 1
\item Structures de données
\item Fonctions
\end{itemize}

\end{frame}

\begin{frame}[fragile]
\frametitle{Retour sur input()}



\begin{minted}{python}
# À adapter
import random
secret = random.randint()

print("Devine le nombre auquel je pense")
while True:
reponse = input("Ta réponse: ")
response = int(response)
...
\end{minted}

\end{frame}



\begin{frame}[fragile]
\frametitle{Retour sur print}

\begin{minted}{python}
>>> a = 1
>>> b = 2
>>> print("a is", a, "b is", b)
a is 1, b is 2
\end{minted}

\begin{itemize}
\item On peut fournir plusieurs valeurs, séparées par des virgules
\item \textit{print()} insère des espaces
\item et va à la ligne
\end{itemize}

\end{frame}

\begin{frame}[fragile]
\frametitle{Retour sur print (2)}

\begin{minted}{python}
a = 1
b = 2
print("a=", 1, "b=2", sep="", end="")
\end{minted}

\end{frame}

\begin{frame}[fragile]
\frametitle{Retour sur les strings}
\end{frame}

\begin{frame}[fragile]
\frametitle{Répéter une string}

\begin{minted}{python}
>>> "argh " * 3
argh argh argh
\end{minted}

\end{frame}


\begin{frame}[fragile]
\frametitle{Faire une longue string sur plusieurs lignes}

\begin{minted}{python}
poeme = """
Ceci est un poème

Qui contient "des quotes"
Et parle d'autre choses ...
"""
\end{minted}

\begin{block}{Note}
Marche aussi avec des "triples-simple-quotes", mais c'est moins lisible :P
\end{block}
\end{frame}






%---

%# 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

%---

\end{document}