\documentclass[a4paper,10pt]{article} \usepackage{myXsim} \usepackage{minted} \author{Benjamin Bertrand} \title{Python et micro:bit - Cours} \date{Septembre 2022} \pagestyle{empty} \begin{document} \maketitle \setcounter{section}{1} \section{Corpus élémentaire de Python} \subsection{Affectation} \begin{definition}{Affectation} \textbf{L'affectation de variable}, représenté en python par le symbole \texttt{=}, est l'opération qui va associé une valeur (pas nécessairement numérique) à un nom de variable. \end{definition} Pour suivre l'affectation de variable, on peut compléter un tableau d'état \begin{multicols}{2} \begin{minted}[bgcolor=base3,linenos]{python} a = 23 a = a + 1 b = 10 a = b \end{minted} \begin{tabular}{|c|p{2cm}|p{2cm}|} \hline Instruction & a & b \\ \hline ligne 1 & 23 & \\ \hline ligne 2 & 24 & \\ \hline ligne 3 & 24 & 10 \\ \hline ligne 4 & 10 & 10\\ \hline \end{tabular} \end{multicols} \subsection{Types de bases} Vous serez amené à utiliser essentiellement 4 types de base: \begin{center} \begin{tabular}{p{2cm}cccc} Nom & Les entiers signés & Les flottants & Les strings & Les booléens \\ Type & int & float & str & bool \\ exemple & \mintinline[bgcolor=base3]{python}{2, -2, 0} & \mintinline[bgcolor=base3]{python}{2.2, -3.14} & \mintinline[bgcolor=base3]{python}{"2", "zaer"} & \mintinline[bgcolor=base3]{python}{True, False} \\ Opérateurs & \texttt{+ - * // \% **}& \texttt{+ - * / **}& \texttt{+ *}& \texttt{or and not} \\ \end{tabular} \end{center} Pour connaitre le type d'une variable, on peut utiliser la fonction \mintinline{python}{type} \paragraph{Exemple:} \begin{center} \begin{minipage}{0.5\linewidth} \begin{minted}[bgcolor=base3,linenos]{python} >>> a = "aer" >>> type(a) str \end{minted} \end{minipage} \end{center} \subsection{Conditions} Pour s'adapter le comportement d'un programme à différentes situations, on pourra utiliser les mots clés \mintinline{python}{if/elif/else} \begin{multicols}{2} \textbf{Exemple:} \begin{minted}[bgcolor=base3,linenos]{python} age = str(input{"Quel age as tu?"}) if age < 2: # Condition 1 print("Tu es un bébé") # block 1 elif age < 18: # Condition 2 print("Tu n'es pas majeur") # block 2 print("Tu peux pas passer le permis") # block2 else: print("Tu peux passer le permis") # block3 print("J'ai plus rien à dire") \end{minted} \columnbreak Remarques: \begin{itemize} \item Seul le mot clé \mintinline{python}{if} est obligatoire. \item Il peut y avoir autant de \mintinline{python}{elif} que vous souhaitez \item À la première condition validée, uniquement le block indenté en dessous sera exécuté. \item Les conditions sont de type booléen (vrai ou faux). Attention, Python donne parfois des valeurs booléennes à d'autres types. \end{itemize} \end{multicols} \pagebreak \begin{multicols}{2} \paragraph{Principaux opérateurs sur les \mintinline{python}{int} ou \mintinline{python}{float}}~ \begin{tabular}{cc} \mintinline{python}{x == y} & \cdots \\ \mintinline{python}{x != y} & \cdots \\ \mintinline{python}{x < y} & \cdots \\ \mintinline{python}{x > y} & \cdots \\ \mintinline{python}{x <= y} & \cdots \\ \mintinline{python}{x >= y} & \cdots \\ \end{tabular} \columnbreak \paragraph{Principaux opérateur sur les \mintinline{python}{bool}}~ \begin{tabular}{cc} \mintinline{python}{E and F} & \cdots \\ \mintinline{python}{E or F} & \cdots \\ \mintinline{python}{not E} & \cdots \\ \end{tabular} \vfill \paragraph{Principaux opérateur \mintinline{python}{str}}~ \begin{tabular}{cc} \mintinline{python}{c in S} & \cdots \\ \end{tabular} \end{multicols} \afaire{Décrire la comparaison effectuée par chaque opérateur} \paragraph{Exemples} \begin{center} \begin{minipage}{0.5\linewidth} \begin{minted}[bgcolor=base3,linenos]{python} >>> 3 < 5 ... >>> (3 < 5) and (5 == 2*2+1) ... >>> not (5 <= 5) ... >>> "a" in "uiopup" ... \end{minted} \end{minipage} \end{center} \afaire{Compléter l'exemple précédent avec True ou False} \end{document}