\documentclass[a4paper,10pt]{article}
\usepackage{myXsim}
\usepackage{minted}

\author{Benjamin Bertrand}
\title{Listes et tuples - Cours}
\date{janvier 2023}

\pagestyle{empty}

\begin{document}

\maketitle

\section{Les tableaux}

\begin{definition}[Listes]

    Un tableau est une structure de données qui est un conteneur (qui contient des objets) et une séquence (c'est à dire qu'elle elle ordonnée). En python, un tableau est appelé \mintinline{python}{list}.

\end{definition}

Exemple:

\begin{center}
    \begin{minipage}{0.9\linewidth}
        \inputminted[bgcolor=base3]{python}{./scripts/1B_list.py}
    \end{minipage}
\end{center}
\afaire{Compléter les espaces avec le résultat de l'opération.}

\begin{propriete}[Opérations sur les listes Python]
    \begin{itemize}
        \item \textbf{Ajouter un élément} avec la méthode \mintinline{python}{.append(...)}
        \item \textbf{Supprimer un élément} avec la méthode \mintinline{python}{.remove(...)}
        \item \textbf{Concaténer deux listes} avec l'opération \mintinline{python}{+}
    \end{itemize}
\end{propriete}

\begin{center}
    \begin{minipage}{0.9\linewidth}
        \inputminted[bgcolor=base3]{python}{./scripts/1B_operation.py}
    \end{minipage}
\end{center}

\afaire{Compléter les espaces avec le résultat de l'opération.}

\begin{propriete}[Parcours d'une tableau]
    \begin{multicols}{2}
        \begin{itemize}
            \item On peut parcourir un tableau avec une boucle for
                \begin{center}
                    \begin{minipage}{0.9\linewidth}
                        \inputminted[bgcolor=base3]{python}{./scripts/1B_for.py}
                    \end{minipage}
                \end{center}
            \columnbreak
            \item Utiliser les listes de comprehension
                \begin{center}
                    \begin{minipage}{0.9\linewidth}
                        \inputminted[bgcolor=base3]{python}{./scripts/1B_comprehension.py}
                    \end{minipage}
                \end{center}
        \end{itemize}
    \end{multicols}
\end{propriete}

\begin{definition}[Liste de listes]

    Pour décrire des tableaux à deux dimensions, on peut faire des listes de listes. Ce sont des listes dont les éléments sont des listes de chose.

        \begin{minipage}{0.4\linewidth}
            \inputminted[bgcolor=base3]{python}{./scripts/1B_list_list.py}
        \end{minipage}
        \hfill
        \begin{minipage}{0.4\linewidth}
            \inputminted[bgcolor=base3]{python}{./scripts/1B_list_list_2.py}
        \end{minipage}

    Cela permet de représenter des plateaux de jeux, des images...

\end{definition}

\end{document}
