Skip to content

Commit c7ee203

Browse files
author
arnaud
committed
pres video
1 parent d844d47 commit c7ee203

File tree

10 files changed

+958
-2
lines changed

10 files changed

+958
-2
lines changed

fonctions/pres-fonctions.pdf

45.6 KB
Binary file not shown.

fonctions/pres-fonctions.tex

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
\documentclass[11pt,class=report,crop=false]{standalone}
2+
\usepackage[screen]{../python}
3+
4+
5+
\pagestyle{empty}
6+
7+
\begin{document}
8+
9+
10+
%====================================================================
11+
\chapitre{Fonctions}
12+
%====================================================================
13+
14+
%\section*{Fonctions}
15+
16+
\mybox{
17+
\myfigure{0.7}{
18+
\tikzinput{fig-fonctions-cours-1}
19+
} }
20+
21+
\newpage
22+
23+
\section*{Fonctions avec paramètre et sortie}
24+
25+
\mybox{
26+
\myfigure{0.7}{
27+
\tikzinput{fig-fonctions-cours-2}
28+
} }
29+
30+
\newpage
31+
32+
\section*{Fonctions avec plusieurs paramètres/plusieurs sorties}
33+
34+
\mybox{
35+
\myfigure{0.7}{
36+
\tikzinput{fig-fonctions-cours-3}
37+
} }
38+
39+
\newpage
40+
41+
\section*{Variable locale}
42+
43+
44+
\mybox{
45+
\myfigure{0.7}{
46+
\tikzinput{fig-fonctions-cours-4}
47+
} }
48+
49+
\end{document}

listes/pres-listes-1.pdf

126 KB
Binary file not shown.

listes/pres-listes-1.tex

Lines changed: 334 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,334 @@
1+
\documentclass[12pt,class=report,crop=false]{standalone}
2+
\usepackage[screen]{../python}
3+
4+
\pagestyle{empty}
5+
6+
\begin{document}
7+
8+
% Commande spécifique
9+
\newcommand{\badletter}[1]{\underline{\textcolor{red}{#1}}}
10+
11+
12+
13+
%====================================================================
14+
\chapitre{Listes I}
15+
%====================================================================
16+
17+
18+
\section*{Construction d'une liste}
19+
20+
Une \defi{liste}\index{liste} est une suite d'éléments.
21+
22+
\bigskip
23+
\begin{itemize}
24+
\item \ci{[5,-7,12,99]}
25+
\item \ci{["Mars","Avril","Mai"]}
26+
\item \ci{[3.14,"pi",10e-3,"x",True]}
27+
\end{itemize}
28+
29+
\bigskip
30+
31+
\begin{itemize}
32+
\item Une liste se définit par des éléments entre crochets :
33+
\begin{itemize}
34+
\item \ci{liste1 = [5,4,3,2,1]}
35+
\item \ci{liste2 = ["Vendredi","Samedi","Dimanche"]}
36+
\item \ci{liste3 = []} la liste vide (très utile pour la compléter plus tard !).
37+
\end{itemize}
38+
\end{itemize}
39+
40+
\newpage
41+
42+
\section*{Accéder à un élément}
43+
44+
Pour obtenir un élément de la liste, il suffit d'écrire
45+
46+
\centerline{\ci{liste[i]}}
47+
48+
$i$ est le rang de l'élément souhaité.
49+
50+
\bigskip
51+
52+
\textbf{Attention.} On commence à compter à partir du rang $0$ !
53+
54+
\bigskip
55+
56+
57+
Par exemple après l'instruction \ci{liste = ["A","B","C","D","E","F"]} alors
58+
\begin{itemize}
59+
\item \ci{liste[0]} renvoie \ci{"A"}
60+
\item \ci{liste[1]} renvoie \ci{"B"}
61+
\item \ci{liste[2]} renvoie \ci{"C"}
62+
\item \ci{liste[3]} renvoie \ci{"D"}
63+
\item \ci{liste[4]} renvoie \ci{"E"}
64+
\item \ci{liste[5]} renvoie \ci{"F"}
65+
\end{itemize}
66+
67+
\medskip
68+
69+
\myfigure{0.6}{
70+
\tikzinput{fig-listes-1}
71+
}
72+
73+
\newpage
74+
75+
76+
\section*{Ajouter un élément}
77+
78+
Pour ajouter un élément à la fin de la liste, il suffit d'utiliser la commande
79+
80+
\centerline{\ci{maliste.append(element)}}
81+
82+
\bigskip
83+
\bigskip
84+
85+
\begin{itemize}
86+
\item \ci{premiers = [2,3,5,7]},
87+
\item puis \ci{premiers.append(11)} rajoute $11$ à la liste,
88+
\item puis \ci{premiers.append(13)} alors maintenant la liste \ci{premiers} vaut \ci{[2,3,5,7,11,13]}.
89+
\end{itemize}
90+
91+
\newpage
92+
93+
\section*{Une construction}
94+
95+
Voici comment construire la liste qui contient les premiers carrés.
96+
97+
\bigskip
98+
\bigskip
99+
100+
\begin{center}
101+
\begin{minipage}{0.9\textwidth}
102+
\begin{lstlisting}
103+
liste_carres = [] # On part d'un liste vide
104+
for i in range(10):
105+
liste_carres.append(i**2) # On ajoute un carré
106+
\end{lstlisting}
107+
\end{minipage}
108+
\end{center}
109+
\`A la fin \ci{liste_carres} vaut :\\
110+
\centerline{\ci{[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]}}
111+
112+
113+
\newpage
114+
115+
\section*{Parcourir une liste}
116+
117+
\begin{itemize}
118+
\item \textbf{Longueur d'une liste.} \ci{len(liste)}
119+
120+
\begin{itemize}
121+
\item La liste \ci{[5,4,3,2,1]} est de longueur $5$,
122+
\item la liste \ci{["Vendredi","Samedi","Dimanche"]} de longueur $3$,
123+
\item la liste vide \ci{[]} de longueur $0$.
124+
\end{itemize}
125+
126+
\bigskip
127+
128+
129+
\item \textbf{Parcourir une liste.}
130+
Voici la façon la plus simple de parcourir une liste (et ici d'afficher chaque élément) :
131+
\index{for@\ci{for}}\index{boucle!pour}
132+
\begin{lstlisting}
133+
for element in liste:
134+
print(element)
135+
\end{lstlisting}
136+
137+
\bigskip
138+
139+
\item \textbf{Parcourir une liste (bis).}
140+
Parfois on a besoin de connaître le rang des éléments. Voici une autre façon de faire (qui affiche ici le rang et l'élément).
141+
\begin{lstlisting}
142+
n = len(liste)
143+
for i in range(n):
144+
print(i,liste[i])
145+
\end{lstlisting}
146+
147+
\bigskip
148+
149+
\item Pour obtenir une liste à partir de \ci{range()} il faut écrire :\\
150+
\centerline{\ci{list(range(n))}}
151+
\end{itemize}
152+
153+
154+
\newpage
155+
156+
157+
\section*{Concaténer}
158+
159+
\begin{itemize}
160+
\item \textbf{Concaténer deux listes.}
161+
Si on a deux listes, on peut les fusionner par l'opérateur \og{}\ci{+}\fg{}.
162+
163+
Exemple.
164+
\ci{liste1 = [4,5,6]} et \ci{liste2 = [7,8,9]} \\
165+
\centerline{\ci{liste1 + liste2} \quad vaut \quad \ci{[4,5,6,7,8,9]}.}
166+
167+
\bigskip
168+
\bigskip
169+
170+
\item \textbf{Ajouter un élément à la fin.}
171+
172+
\centerline{\ci{liste = liste + [element]}}
173+
174+
Exemple. \ci{[1,2,3,4] + [5]} vaut \ci{[1,2,3,4,5]}.
175+
176+
C'est une méthode alternative à \ci{liste.append(element)}.
177+
178+
\bigskip
179+
\bigskip
180+
181+
\item \textbf{Ajouter un élément au début.}
182+
183+
\centerline{\ci{liste = [element] + liste}}
184+
185+
186+
Exemple \ci{[5] + [1,2,3,4]} vaut \ci{[5,1,2,3,4]}.
187+
\end{itemize}
188+
189+
\newpage
190+
191+
192+
\section*{Trancher des listes}
193+
194+
\index{liste!sous-liste} On peut extraire d'un seul coup toute une partie de la liste :
195+
196+
\centerline{\ci{liste[a:b]}}
197+
198+
renvoie la sous-liste des éléments de rang $a$ à $b-1$.
199+
200+
201+
\bigskip
202+
203+
\myfigure{0.4}{
204+
\tikzinput{fig-listes-3}
205+
}
206+
207+
\bigskip
208+
\bigskip
209+
210+
Par exemple si \ci{liste = ["A","B","C","D","E","F","G"]} alors
211+
\begin{itemize}
212+
\item \ci{liste[1:4]} renvoie \ci{["B","C","D"]}
213+
\item \ci{liste[0:2]} renvoie \ci{["A","B"]}
214+
\item \ci{liste[4:7]} renvoie \ci{["E","F","G"]}
215+
\end{itemize}
216+
217+
\bigskip
218+
219+
Il faut encore une fois faire attention à ce que le rang d'une liste commence à $0$ et que le tranchage \ci{liste[a:b]} s'arrête au rang $b-1$.
220+
221+
222+
223+
\newpage
224+
225+
\section*{Manipulation des listes}
226+
227+
\begin{itemize}
228+
\item \textbf{Inverser une liste.}\index{liste!inverser} Voici trois méthodes :\index{reverse@\ci{reverse/reversed}}
229+
\begin{itemize}
230+
\item \ci{maliste.reverse()} modifie la liste sur place (c'est-à-dire que \ci{maliste} est maintenant renversée, la commande ne renvoie rien) ;
231+
\item \ci{list(reversed(maliste))} renvoie une nouvelle liste ;
232+
\item \ci{maliste[::-1]} renvoie une nouvelle liste.
233+
\end{itemize}
234+
235+
\bigskip
236+
\bigskip
237+
238+
\item \textbf{Supprimer un élément.} La commande \ci{liste.remove(element)}\index{liste!supprimer}\index{remove@\ci{remove}} supprime la première occurrence trouvée (la liste est modifiée). Par exemple avec \ci{liste = [2,5,3,8,5]} la commande \ci{liste.remove(5)} modifie la liste qui maintenant vaut \ci{[2,3,8,5]} (le premier $5$ a disparu).
239+
240+
\bigskip
241+
\bigskip
242+
243+
\item \textbf{Supprimer un élément (bis).} La commande \ci{del liste[i]}\index{del@\ci{del}} supprime l'élément de rang $i$ (la liste est modifiée).
244+
245+
\end{itemize}
246+
247+
248+
\newpage
249+
250+
\section*{Tri}
251+
252+
\index{liste!trier}
253+
\index{sorted@\ci{sort/sorted}}
254+
255+
\begin{fonctionpython}[\ci{python : sorted()}]
256+
Usage : \ci{sorted(liste)}\\
257+
Entrée : une liste \\
258+
Sortie : la liste ordonnée des éléments
259+
260+
\medskip
261+
262+
Exemple : \ci{sorted([13,11,7,4,6,8,12,6])} renvoie la liste \ci{[4,6,6,7,8,11,12,13]}.
263+
264+
\end{fonctionpython}
265+
266+
Attention ! Il existe aussi une méthode \ci{liste.sort()} qui modifie la liste sur place.
267+
268+
\newpage
269+
270+
\section*{Visualiser une liste}
271+
272+
Avec le module \ci{matplotlib} il est très facile de visualiser les éléments d'une liste de nombres.
273+
274+
\begin{center}
275+
\includegraphics[scale=0.45]{ecran-liste-cours-visualisation}
276+
\end{center}
277+
278+
\begin{lstlisting}
279+
import matplotlib.pyplot as plt
280+
281+
liste1 = [3,5,9,8,0,3]
282+
liste2 = [4,7,7,2,8,9]
283+
284+
plt.plot(liste1,color="red")
285+
plt.plot(liste2,color="blue")
286+
plt.grid()
287+
plt.show()
288+
\end{lstlisting}
289+
290+
291+
%\newpage
292+
%
293+
%\emph{Explications.}
294+
%\begin{itemize}
295+
% \item Le module s'appelle \ci{matplotlib.pyplot} et on lui donne le nouveau nom plus simple de \ci{plt}.
296+
%
297+
% \item Attention ! Le module \ci{matplotlib} n'est pas toujours installé par défaut avec \Python.
298+
%
299+
% \item \ci{plt.plot(liste)}\index{plot@\ci{plot}} trace les points d'une liste (sous la forme $(i,\ell_i)$) qui sont reliés par des segments.
300+
%
301+
% \item \ci{plt.grid()} trace une grille.
302+
%
303+
% \item \ci{plt.show()} affiche tout.
304+
%
305+
%\end{itemize}
306+
307+
308+
309+
310+
\newpage
311+
312+
\section*{Visualiser des points}
313+
314+
Pour afficher des points $(x_i,y_i)$ il faut fournir la listes des abscisses puis la listes des ordonnées :\\
315+
\centerline{\ci{plt.plot(liste_x,liste_y,color="red")}}
316+
Voici un exemple de graphe obtenu en affichant des points de coordonnées du type $(x,y)$ avec $y = x^2$.
317+
318+
\begin{center}
319+
\includegraphics[scale=0.45]{ecran-liste-cours-visualisation-bis}
320+
\end{center}
321+
322+
323+
\begin{lstlisting}
324+
import matplotlib.pyplot as plt
325+
326+
liste_x = [2, 3, 5, 7, 9]
327+
liste_y = [4, 9,25,49,81]
328+
plt.plot(liste_x,liste_y,color="red")
329+
plt.grid()
330+
plt.show()
331+
\end{lstlisting}
332+
333+
334+
\end{document}

livre-python1.pdf

-67.5 KB
Binary file not shown.

sialors/pres-sialors.pdf

94.2 KB
Binary file not shown.

0 commit comments

Comments
 (0)