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.

02.md 3.1 KiB

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