From 35c2b8403ab6cb8cc78c0ddd488d360094e9c663 Mon Sep 17 00:00:00 2001 From: Dimitri Merejkowsky Date: Wed, 28 Nov 2018 14:13:33 +0100 Subject: [PATCH] Latex for the win --- sessions/python-02.md | 202 --------------------------------- sessions/python-02.tex | 249 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 249 insertions(+), 202 deletions(-) delete mode 100644 sessions/python-02.md create mode 100644 sessions/python-02.tex diff --git a/sessions/python-02.md b/sessions/python-02.md deleted file mode 100644 index 2fd25cb..0000000 --- a/sessions/python-02.md +++ /dev/null @@ -1,202 +0,0 @@ -# Introduction à la programmation avec Python (chapitre 2) - - - -

-E2L
-Dimitri Merejkowsky
-

- ---- - -# 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 - ---- diff --git a/sessions/python-02.tex b/sessions/python-02.tex new file mode 100644 index 0000000..64e0e3d --- /dev/null +++ b/sessions/python-02.tex @@ -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}