{"id":4709,"date":"2012-06-21T17:54:59","date_gmt":"2012-06-21T21:54:59","guid":{"rendered":"http:\/\/cscircles.cemc.uwaterloo.ca\/?page_id=4709"},"modified":"2013-07-14T02:27:21","modified_gmt":"2013-07-14T06:27:21","slug":"antiseche","status":"publish","type":"page","link":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/antiseche\/","title":{"rendered":"Antis\u00e8che"},"content":{"rendered":"<p>Voici le sous-ensemble de la syntaxe de Python que nous utilisons dans nos cours. Voici une <a href=\"..\/wp-content\/plugins\/pybox\/files\/cheatsheet-fr.pdf\">version PDF imprimable<\/a>.<\/p>\n<pre>3 * 4, 3 + 4, 3 - 4, 3 \/ 4                #==> 12, 7, -1, 0.75\n3 ** 4, 3 \/\/ 4, 3 % 4                     #==> 81, 0, 3\n4 > 3, 4 >= 3, 3 == 3.0, 3 != 4, 3 <= 4   #==> True, True, True, True, True\n# ordre des op\u00e9rations: parenth\u00e8ses, **, {* \/ \/\/ %}, {+ -}, {== != <= < > >=}\nmin(3, 4), max(3, 4), abs(-10)            #==> 3, 4, 10\nsum([1, 2, 3])  # [1, 2, 3] est une liste #==> 6\n\ntype(3), type(3.0), type(\"monChaine\")     #==> class 'int', class 'float',\n                                          #    class 'str'\nint(\"4\"+\"0\"), float(3), str(1 \/ 2)        #==> 40, 3.0, '0.5'\n\n\"quotes doubles: ', \u00e9chapp\u00e9 \\\" \\\\ \\'\"     #==> quotes doubles: ', \u00e9chapp\u00e9 \" \\ '\n'quotes simples: c\\'est \"similaire\"'      #==> quotes simples: c'est \"similaire\" \n\nord(\"A\"), chr(66)                         #==> 65, 'B'\nchaine = \"bonjour\"      # type 'str'\n# les d\u00e9clarations suivantes fonctionnent aussi pour les listes\nlen(chaine)                               #==> 7\nchaine[0], chaine[3]    # caract\u00e8res      #==> \"b\", \"j\"\nchaine[1:3]             # sous-cha\u00eenes    #==> \"on\"\nchaine[:2], chaine[2:]  # sous-cha\u00eene g\/d #==> \"bo\", \"njour\"\nchaine[-1], chaine[-2:] # indices negatifs#==> \"r\", \"ur\"\n\"en\" + \"cha\u00eene\" + \"ment \" + str(123)      #==> \"encha\u00eenement 123\"\n\"bon\" * 2                                 #==> \"bonbon\"\n\nligneDEntreeCommeChaine = input()         #==> lire entr\u00e9e (ou erreur EOF)\nprint(\"prend\", 0, \"arguments ou plus\")    #==> prend 0 arguments ou plus\nprint(\"avec\", \"sep\", \"choisi\", sep=\".\")   #==> avec.sep.choisi\nprint(\"pas de retour \u00e0 la ligne\", end=\"!\")#==> pas de retour \u00e0 la ligne!\n\nnot True, False or True, False and True   #==> False, True, False\n# ordre des op\u00e9rations: parenth\u00e8ses, {== !=}, not, and, or\n\nif conditionBooleenne:\n   x                    # bloc indent\u00e9 des instructions\n   x                    # chaque ligne du bloc a la m\u00eame indentation\nelif autreCondition:    # peut avoir z\u00e9ro, un, or plusieurs blocs elif\n   x                    # bloc indent\u00e9 des instructions\nelse:                   # optionnel\n   x                    # bloc indent\u00e9 des instructions\n\nwhile conditionBooleenne:\n   x                    # bloc indent\u00e9 des instructions\n   break                # sauter dehors (optionnel)\n   continue             # commencer au d\u00e9but de l'iteration suivant (optionnel)\n\nfor variableDIndice in range(debut, finPlus):\n   print(variableDIndice)           #==> debut, debut+1, ..., finPlus-1\n# \"for article in listeOuChaine:\" boucle forall\/foreach (pour tous\/pour chaque)\n# break, continue peuvent \u00eatre utilis\u00e9s dans les boucles for\n\ndef nomDeNouvelleFonction(argument1, argument2):\n    x                     # bloc indent\u00e9 des instructions\n    return y              # (optionnel; s'il n'existe pas, None est retourn\u00e9)\n\ndef memoriser(bar):       # l'\u00e9criture aux variables globales\n    global enregistrerBar # apr\u00e8s appeler foo(3), enregistrerBar = 3\n    enregistrerBar = bar  # m\u00eame en dehors de la port\u00e9e de la fonction\n\n# ces commandes \"tranche\" ont des analogues pour les listes et pour range()\n\"0123456789\"[::2]         # tranche       #==> \"02468\"\n\"0123456789\"[::-1]        # d\u00e9croissant   #==> \"9876543210\"\n\"0123456789\"[6:3:-1]                      #==> \"654\"\n\nx += 1        # aussi -=, \/=, *=, %=, **=, \/\/=. Python n'a pas de \"x++\"\nx, y = y, x   # affectations multiples\n3 < x < 5     # comme \"(3 < x) and (x < 5)\". peut combiner {< <= > >= == != is}\n\nimport math               # import, pour obtenir tout avec une p\u00e9riode\nprint(math.sqrt(2))\nfrom math import sqrt     # import, pour obtenir une chose sans p\u00e9riode\nprint(sqrt(2))\n# aussi dans le module math: pi, exp, log, sin, cos, tan, ceil, floor, etc...\n\nliste = ['z\u00e9ro', 'un', 'deux']\nliste.index('un')                        #==> 1\nliste.index('trois')                     #==> cause une erreur\n'trois' in liste, 'z\u00e9ro' in liste        #==> False, True\nliste.count('deux')                      #==> 1\ndel liste[1]     # liste devient ['z\u00e9ro', 'deux']\n\"cha\u00eene\" in \"super-cha\u00eene\"               #==> True\n\"super-cha\u00eene\".index(\"cha\u00eene\")           #==> 6\n\n# encore des methodes pour listes: append(article), insert(article, indice),\n# extend(liste), remove(valeur), pop(), pop(indice), reverse(), sort(), etc...\n\n# quelques methodes pour cha\u00eenes: capitalize(), lower\/upper(),\n# islower\/isupper(), isalpha\/isdigit(), strip(), split(), splitlines(), \n# center\/ljust\/rjust(largeur, carDeRemplissage), endswith\/startswith(cha\u00eene),\n# find(cha\u00eene), replace(ancien, nouvel), etc...\n\nmonListe = [11, 99]\nenFaitLeMemeListe = monListe # pas une vraie copie! ne copie que la r\u00e9f\u00e9rence\nenFaitLeMemeListe is monListe             #==> True\nvraiCopie = monListe[:]      # ou list(monListe), copy.copy(monListe), deepcopy\nvraiCopie is monListe                     #==> False\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Voici le sous-ensemble de la syntaxe de Python que nous utilisons dans nos cours. Voici une version PDF imprimable. 3 * 4, 3 + 4, 3 - 4, 3 \/ 4 #==> 12, 7, -1, 0.75 3 ** 4, 3 &hellip; <a href=\"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/antiseche\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4709","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4709","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/comments?post=4709"}],"version-history":[{"count":10,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4709\/revisions"}],"predecessor-version":[{"id":7045,"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/pages\/4709\/revisions\/7045"}],"wp:attachment":[{"href":"https:\/\/cscircles.cemc.uwaterloo.ca\/dev\/wp-json\/wp\/v2\/media?parent=4709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}