You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

преди 6 години
преди 6 години
преди 6 години
преди 6 години
преди 6 години
преди 6 години
преди 6 години
преди 6 години
преди 6 години
преди 6 години
преди 6 години
преди 6 години
преди 6 години
преди 6 години
преди 6 години
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. % !TEX encoding = UTF-8 Unicode
  2. \documentclass{beamer}
  3. \usepackage[utf8]{inputenc}
  4. \usepackage{hyperref}
  5. \usepackage{listings}
  6. \lstset{language=Python, showstringspaces=false}
  7. \usetheme{Madrid}
  8. \hypersetup{colorlinks=true}
  9. \title{Introduction à la programmation avec Python \\ (chapitre 2)}
  10. \author{Dimitri Merejkowsky}
  11. \institute{E2L}
  12. \begin{document}
  13. \frame{\titlepage}
  14. \begin{frame}
  15. \frametitle{Session 2}
  16. \end{frame}
  17. \begin{frame}
  18. Note: \\~\\
  19. Les sources sont
  20. \href{https://github.com/E2L/cours-python/tree/master/sources}{sur GitHub}. \\~\\
  21. Mais il vaut mieux recopier le code vous-mêmes.
  22. \end{frame}
  23. \begin{frame}
  24. \frametitle{Plan}
  25. \begin{itemize}
  26. \item Retour sur le chapitre 1
  27. \item Structures de données
  28. \item Fonctions
  29. \end{itemize}
  30. \end{frame}
  31. \begin{frame}[fragile]
  32. \frametitle{Retour sur input()}
  33. \begin{lstlisting}
  34. # A adapter
  35. import random
  36. secret = random.randint()
  37. print("Devine le nombre auquel je pense")
  38. while True:
  39. reponse = input("Ta reponse: ")
  40. response = int(response)
  41. ...
  42. \end{lstlisting}
  43. \end{frame}
  44. \begin{frame}[fragile]
  45. \frametitle{Retour sur print}
  46. \begin{lstlisting}
  47. >>> a = 1
  48. >>> b = 2
  49. >>> print("a is", a, "b is", b)
  50. a is 1, b is 2
  51. \end{lstlisting}
  52. \begin{itemize}
  53. \item On peut fournir plusieurs valeurs, séparées par des virgules
  54. \item \textit{print()} insère des espaces
  55. \item et va à la ligne
  56. \end{itemize}
  57. \end{frame}
  58. \begin{frame}[fragile]
  59. \frametitle{Retour sur print (2)}
  60. \begin{lstlisting}
  61. a = 1
  62. b = 2
  63. print("a=", 1, "b=2", sep="", end="")
  64. \end{lstlisting}
  65. \end{frame}
  66. \begin{frame}[fragile]
  67. \frametitle{Retour sur les strings}
  68. \end{frame}
  69. \begin{frame}[fragile]
  70. \frametitle{Répéter une string}
  71. \begin{lstlisting}
  72. >>> "argh " * 3
  73. argh argh argh
  74. \end{lstlisting}
  75. \end{frame}
  76. \begin{frame}[fragile]
  77. \frametitle{Faire une longue string sur plusieurs lignes}
  78. \begin{lstlisting}
  79. poeme = """
  80. Ceci est un poeme
  81. Qui contient "des quotes"
  82. Et parle d'autre choses ...
  83. """
  84. \end{lstlisting}
  85. \begin{block}{Note}
  86. Marche aussi avec des "triples-simple-quotes", mais c'est moins lisible :P
  87. \end{block}
  88. \end{frame}
  89. %---
  90. %# Concaténer des strings
  91. %!python
  92. %message = (
  93. %"Première ligne\n"
  94. %"Deuxième ligne\n"
  95. %)
  96. %Les parenthèse permettent d'aller à la ligne dans le code :)
  97. %---
  98. %# Slicer des strings
  99. %!pycon
  100. %>>> message = "Bonjour, monde !"
  101. %>>> message[0] # ça commence à zéro
  102. %"B"
  103. %>>> message[15]
  104. %"!"
  105. %>>>> message[-1] # compter à l'envers
  106. %"!"
  107. %---
  108. %# Slicer des strings (2)
  109. %!pycon
  110. %>>> message = "Bonjour, monde !"
  111. %>>> message[1:4] # début, fin
  112. %'onj'
  113. %>>> message[:7] # début implicite
  114. %'Bonjour'
  115. %>>> message[9:-2] # fin négative
  116. %'monde'
  117. %---
  118. %# Listes
  119. %---
  120. %# Créer une liste
  121. %!pycon
  122. %>>> my_list = [] # liste vide
  123. %>>> primes = [2, 3, 5, 7, 11] # liste d'entiers
  124. %---
  125. %# Listes hétérogènes
  126. %On peut mettre des types différents dans une même liste:
  127. %!pycon
  128. %>>> pommes_et_carottes = [True, 2, "three"]
  129. %Et même des listes dans des listes:
  130. %!pycon
  131. %>>> liste_de_liste = [[1, 2, 3], ["one", "two", "three"]]
  132. %----
  133. %# Slicer des listes
  134. %Même principe que pour les strings!
  135. %!pycon
  136. %>>> liste = [1, 2, 3]
  137. %>>> liste[0:2]
  138. %[1, 2]
  139. %---
  140. %# Modifier une liste
  141. %!pycon
  142. %>>> liste = [1, 2, 3]
  143. %>>> liste[1] = 4
  144. %>>> liste
  145. %[1, 4, 3]
  146. %*Attention*: ça ne marche pas avec les strings:
  147. %!pycon
  148. %>>> message = "Bonjour, monde !"
  149. %>>> message[-1] = "?"
  150. %TypeError: 'str' object does not support item assignment
  151. %---
  152. %# Boucles for
  153. %Itérer sur les éléments d'une liste:
  154. %!python
  155. %names = ["Alice", "Bob", "Charlie"]
  156. %for name in names:
  157. %print("Bonjour", name)
  158. %Bonjour Alice
  159. %Bonjour Bob
  160. %Bonjour Charlie
  161. %---
  162. \end{document}