| @@ -221,12 +221,16 @@ Notez l'utilisation des parenthèses pour \emph{appeler} la fonction | |||
| def add(a, b): | |||
| return a + b | |||
| a = 1 | |||
| b = 2 | |||
| c = add(a, b) | |||
| print(c) | |||
| nombre_1 = 1 | |||
| nombre_2 = 2 | |||
| total = add(nombre_1, nombre_2) | |||
| print(total) | |||
| \end{lstlisting} | |||
| \vfill | |||
| Affiche \texttt{3}. | |||
| \end{frame} | |||
| \begin{frame}[fragile] | |||
| @@ -242,6 +246,9 @@ def greet(name, shout=False): | |||
| >>> greet("John") | |||
| 'Hello, John' | |||
| >>> greet("John", shout=False) # meme resultat | |||
| 'Hello, John' | |||
| >>> greet("Jane", shout=True) | |||
| 'Hello, Jane!' | |||
| \end{lstlisting} | |||
| @@ -367,6 +374,8 @@ Bonjour Charlie | |||
| \end{frame} | |||
| \begin{frame}[fragile] | |||
| \frametitle{Test de présence} | |||
| @@ -384,6 +393,29 @@ False | |||
| \end{frame} | |||
| \begin{frame}[fragile] | |||
| \frametitle{Ça marche aussi avec les strings} | |||
| Les strings sont \emph{presque} des liste de lettres: | |||
| \begin{lstlisting} | |||
| for letter in "vache": | |||
| print(letter) | |||
| v | |||
| a | |||
| c | |||
| h | |||
| e | |||
| \end{lstlisting} | |||
| \begin{lstlisting} | |||
| >>> "v" in "vache" | |||
| True | |||
| >>> 'x' in "vache" | |||
| False | |||
| \end{lstlisting} | |||
| \end{frame} | |||
| \begin{frame}[fragile] | |||
| \frametitle{Ajout d'un élément} | |||
| Avec \texttt{append()} | |||
| @@ -418,15 +450,27 @@ Erreur! | |||
| \end{frame} | |||
| \begin{frame}[fragile] | |||
| \frametitle{Découper une string en liste} | |||
| \frametitle{Découper une string en liste (1)} | |||
| \begin{lstlisting} | |||
| >>> message = "un deux trois" | |||
| >>> message.split() | |||
| ["un", "deux", "trois"] | |||
| >>> path = "documents/e2l/foo.py" | |||
| >>> message.split("/") | |||
| ["documents", "e2l", "foo"] | |||
| \end{lstlisting} | |||
| \end{frame} | |||
| \begin{frame}[fragile] | |||
| \frametitle{Découper une string en liste (2)} | |||
| \begin{lstlisting} | |||
| >>> texte = """"\ | |||
| ligne1 | |||
| ligne2 | |||
| ligne3 | |||
| """ | |||
| >>>texte.splitlines() | |||
| ["ligne1", "ligne2", "ligne3"] | |||
| \end{lstlisting} | |||
| \end{frame} | |||
| \begin{frame}[fragile] | |||
| \frametitle{Dictionnaires} | |||
| @@ -449,28 +493,30 @@ Des clés et des valeurs: | |||
| \end{frame} | |||
| \begin{frame}[fragile] | |||
| \frametitle{Insertion} | |||
| \frametitle{Accès} | |||
| \begin{lstlisting} | |||
| >>> scores = {"john": 10 } | |||
| >>> scores["john"] = 12 # John marque deux points | |||
| >>> scores["bob"] = 3 # Bob entre dans la partie | |||
| >>> scores["john"] | |||
| 10 | |||
| >>> scores["personne"] | |||
| KeyError | |||
| \end{lstlisting} | |||
| \end{frame} | |||
| \begin{frame}[fragile] | |||
| \frametitle{Fusion de dictionnaires} | |||
| \frametitle{Modification} | |||
| \begin{lstlisting} | |||
| >>> s1 = {"john": 12, "bob": 2} | |||
| >>> s2 = {"bob": 3, "charlie": 4} | |||
| >>> s1.update(s2) | |||
| >>> s1 | |||
| {"john": 12, "bob": 3, "charlie": 4} | |||
| >>> scores["john"] = 12 # John marque deux points | |||
| >>> scores["bob"] = 3 # Bob entre dans la partie | |||
| >>> scores | |||
| {"john": 12, "bob": 3} | |||
| \end{lstlisting} | |||
| \end{frame} | |||
| \vfill | |||
| Même code pour mettre à jour une clé et en créer une! | |||
| \end{frame} | |||
| \begin{frame}[fragile] | |||
| \frametitle{Destruction} | |||
| @@ -710,19 +756,22 @@ while True: | |||
| display_hint(word, letters) | |||
| if has_won(word, letters): | |||
| print("OK") | |||
| return | |||
| break # interrompt la boucle parente | |||
| \end{lstlisting} | |||
| \end{frame} | |||
| \begin{frame}[fragile] | |||
| \frametitle{Une tradition} | |||
| Traditionnelement, on appelle ce genre de fonction \texttt{main()}: | |||
| Traditionnellement, on appelle ce genre de fonction \texttt{main()}: | |||
| \begin{lstlisting} | |||
| def main(): | |||
| words = read_words() | |||
| word = choose_word(words) | |||
| ... | |||
| if has_won(words, letters): | |||
| print("Ok") | |||
| return # sort de la fonction tout de suite | |||
| main() # ne pas oublier de l'appeler! | |||
| \end{lstlisting} | |||
| @@ -731,7 +780,7 @@ main() # ne pas oublier de l'appeler! | |||
| \begin{frame}[fragile] | |||
| \frametitle{Pour la prochaine fois} | |||
| Notez que le jouer \textbf{ne peut pas perdre}. | |||
| Notez que le joueur \textbf{ne peut pas perdre}. | |||
| \vfill | |||