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.

python-02.md 3.0 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. # Introduction à la programmation avec Python (chapitre 2)
  2. <p align="right">
  3. E2L <br />
  4. Dimitri Merejkowsky <br />
  5. </p>
  6. ---
  7. # Session 2
  8. ---
  9. Note:
  10. * Les sources sont [sur GitHub](https://github.com/E2L/cours-python/tree/master/sources).
  11. * Mais il vaut mieux **recopier** le code vous-mêmes.
  12. ----
  13. # Plan
  14. * Retour sur le chapitre 1
  15. * Structures de données
  16. * Fonctions
  17. ---
  18. # Retour sur input()
  19. !python
  20. # À adapter
  21. secret = random.randint()
  22. print("Devine le nombre auquel je pense")
  23. while True:
  24. reponse = input("Ta réponse: ")
  25. response = int(response)
  26. ...
  27. ---
  28. # Retour sur print()
  29. !python
  30. a = 1
  31. b = 2
  32. print("a=", 1, "b=2")
  33. * `print()` insère des espaces
  34. * et va à la ligne
  35. ---
  36. # Retour sur print()
  37. !python
  38. a = 1
  39. b = 2
  40. print("a=", 1, "b=2", sep="", end="$")
  41. ---
  42. # Retour sur les strings
  43. ---
  44. # Répéter une string
  45. !pycon
  46. >>> "argh " * 3
  47. argh argh argh
  48. ---
  49. # Faire une longue string sur plusieurs lignes
  50. !python
  51. poeme = """\
  52. Ceci est un poème
  53. Qui contient "des quotes"
  54. Et parle d'autre choses ...
  55. """
  56. Marche aussi avec des "triples-simple-quotes", mais c'est moins lisible :P
  57. ---
  58. # Concaténer des strings
  59. !python
  60. message = (
  61. "Première ligne\n"
  62. "Deuxième ligne\n"
  63. )
  64. Les parenthèse permettent d'aller à la ligne dans le code :)
  65. ---
  66. # Slicer des strings
  67. !pycon
  68. >>> message = "Bonjour, monde !"
  69. >>> message[0] # ça commence à zéro
  70. "B"
  71. >>> message[15]
  72. "!"
  73. >>>> message[-1] # compter à l'envers
  74. "!"
  75. ---
  76. # Slicer des strings (2)
  77. !pycon
  78. >>> message = "Bonjour, monde !"
  79. >>> message[1:4] # début, fin
  80. 'onj'
  81. >>> message[:7] # début implicite
  82. 'Bonjour'
  83. >>> message[9:-2] # fin négative
  84. 'monde'
  85. ---
  86. # Listes
  87. ---
  88. # Créer une liste
  89. !pycon
  90. >>> my_list = [] # liste vide
  91. >>> primes = [2, 3, 5, 7, 11] # liste d'entiers
  92. ---
  93. # Listes hétérogènes
  94. On peut mettre des types différents dans une même liste:
  95. !pycon
  96. >>> pommes_et_carottes = [True, 2, "three"]
  97. Et même des listes dans des listes:
  98. !pycon
  99. >>> liste_de_liste = [[1, 2, 3], ["one", "two", "three"]]
  100. ----
  101. # Slicer des listes
  102. Même principe que pour les strings!
  103. !pycon
  104. >>> liste = [1, 2, 3]
  105. >>> liste[0:2]
  106. [1, 2]
  107. ---
  108. # Modifier une liste
  109. !pycon
  110. >>> liste = [1, 2, 3]
  111. >>> liste[1] = 4
  112. >>> liste
  113. [1, 4, 3]
  114. *Attention*: ça ne marche pas avec les strings:
  115. !pycon
  116. >>> message = "Bonjour, monde !"
  117. >>> message[-1] = "?"
  118. TypeError: 'str' object does not support item assignment
  119. ---
  120. # Boucles for
  121. Itérer sur les éléments d'une liste:
  122. !python
  123. names = ["Alice", "Bob", "Charlie"]
  124. for name in names:
  125. print("Bonjour", name)
  126. Bonjour Alice
  127. Bonjour Bob
  128. Bonjour Charlie
  129. ---