\chapter{Premiers pas dans Python}

Nous allons voir dans ce chapitre les commandes natives de Python qui nous serviront pour faire des maths.

\bigskip

Une fonction \textit{native} est une fonction déjà prête à être utilisée.

\newpage

\section{Opérations mathématiques}

\subsection{Opérations élémentaires}

Les opérations élémentaires sont les additions, les soustractions, les multiplications et les\linebreak divisions.

\begin{exemple}
\begin{enumerate}
\item Pour ajouter 12 et 15, on saisit :

\begin{console}
>>> 12+15
37
\end{console}

\item Pour trouver la différence entre 15 et 12, on saisit:

\begin{console}
>>> 15-12
3
\end{console}

\item Pour diviser 35 par 5, on saisit:

\begin{console}
>>> 35/5
7.0
\end{console}


\begin{rem}
Notez ici que Python retourne un nombre \og à virgule \fg{} car, par défaut, quand on effectue une division, Python suppose que le résultat est un nombre \textit{réel}, et non un entier.
\end{rem}

\item Pour multiplier 45 par 7, on saisit:

\begin{console}
>>> 45*7
315
\end{console}

\end{enumerate}
\end{exemple}

\subsection{Quotients et restes}

Quand on effectue la division euclidienne de deux entiers $a$ et $b$, cela peut s'écrire :
\[
a = bq + r\quad,\quad 0 \leqslant r < b
\]
$q$ est le \og quotient \fg{} et $r$, le reste.

\medskip

Ces deux nombres peuvent être obtenus à l'aide de Python.

\begin{exemple}
\begin{enumerate}
\item Le quotient de 81 par 13 est obtenu en saisissant:

\begin{console}
>>> 81//13
6
\end{console}

\item Le reste de la division euclidienne de 81 par 13 est obtenu en saisissant :

\begin{console}
>>> 81%13
3
\end{console}
\end{enumerate}

On peut ainsi écrire:
\[
81 = 13\times6 + 3.
\]
\end{exemple}

\subsection{Puissances}

\begin{exemple}
Pour calculer $3^7$, on saisit :

\begin{console}
>>> 3**7
2187
\end{console}

\end{exemple}

\begin{rem}
Notez qu'il y a deux astérisques (\texttt{**}) pour une puissance et une astérisque (\texttt{*}) pour une multiplication. Ce n'est pas un hasard quand on se souvient qu'une puissance est liée à la multiplication.
\end{rem}

\section{Autres opérations}

\subsection{Arrondis}

\begin{exemple}
\begin{enumerate}
\item Arrondir le nombre $\pi\approx3,141592653589793$ à $10^{-3}$ près (c'est-à-dire avec 3 chiffres après la virgule), s'obtient en saisissant:

\begin{console}
>>> round(3.141592653589793,3)
3.142
\end{console}

\newpage

\item Arrondir le nombre $\pi\approx3,141592653589793$ à l'unité (c'est-à-dire sans chiffres après la virgule), s'obtient en saisissant:

\begin{console}
>>> round(3.141592653589793,0)
3.0
\end{console}
\end{enumerate}
\end{exemple}


\subsection{Partie entière}

\begin{exemple}
Si on souhaite obtenir la partie entière de $\pi\approx3,141592653589793$ au format entier (et non réel comme dans l'exemple précédent avec \texttt{round}), on fera :

\begin{console}
>>> int(3.141592653589793)
3
\end{console}
\end{exemple}

\subsection{Valeur absolue}

\begin{exemple}
Si on souhaite calculer la différence entre deux nombres, mais que l'on ne sait pas si le résultat est positif ou négatif, on peut demander d'afficher la différence absolue, c'est-à-dire sans le signe :

\begin{console}
>>> abs(3.235263-3.3258785)
0.09061549999999974
\end{console}

$3,235263 < 3,3258785$ donc la différence $3.235263-3.3258785$ est négative. Pour la rendre positive, on utilise donc la fonction \texttt{abs}.

\begin{rem}
Notez sur cet exemple que le résultat donné par Python est mathématiquement faux. En effet, $3,235263-3,3258785=-0,0906155$. Si le résultat n'est pas trop éloigné de la réalité, il n'en est pas moins faux. 

Ceci est dû au fait que Python calcule de façon très particulière quand on lui donne des nombres décimaux et qu'il ne sera pas rare de voir de telles approximations.
\end{rem}
\end{exemple}


\subsection{Racine carrée}

\begin{exemple}
Pour calculer la racine carrée de 2 ($\sqrt2$), on pourra saisir:

\begin{console}
>>> 2**0.5
1.4142135623730951
\end{console}
\end{exemple}

\newpage

\section{Insérer un commentaire}

Pour insérer un commentaire, on pourra utiliser le symbole \texttt{\#}:

\begin{console}
>>> a, b = 1, 2 # ici, on affecte à la variable "a" la valeur 1 et à la variable "b" la valeur 2
\end{console}

Dans un programme, on pourra aussi utiliser le triple quote, ou le triple guillemet.

\begin{python}
"""
Ceci est un exemple de commentaire.
Nous allons ici calculer la racine carrée de 5.
"""

print( 5**0.5 )
\end{python}

Ce dernier exemple est très utile quand on souhaite écrire un programme (ou autre chose, comme une fonction -- nous le verrons plus tard) et que l'on veut mettre sa description.


\section{Récapitulatif}

\begin{center}
\begin{tabular}{|Sc|>{\ttfamily}Sc|}
\hline
\rowcolor{exemple}
\textcolor{white}{Opération} & \textcolor{white}{Syntaxe Python}\\
\hline
Addition & +\\
\hline
Soustraction & -\\
\hline
Multiplication & *\\
\hline
Division & /\\
\hline
Quotient (division euclidienne) & // \\
\hline
Reste (division euclidienne)  & \% \\
\hline
Puissance & **\\
\hline
Arrondis & round(nombre,décimales)\\
\hline
Partie entière & int(nombre)\\
\hline
Valeur absolue & abs(nombre)\\
\hline
Racine carrée & nombre**0.5\\
\hline
\end{tabular}
\end{center}