\documentclass[a4paper]{article} \usepackage[utf8x]{inputenc} \usepackage[T1]{fontenc} \usepackage{listings} \lstset{language=Python} \usepackage[francais,bloc,completemulti]{automultiplechoice} \begin{document} \exemplaire{1}{ %%% debut de l'en-tête des copies : \vspace*{.5cm} \begin{minipage}{.4\linewidth} \centering\large\bf Test\\ Examen du 01/01/2008\end{minipage} \champnom{\fbox{ \begin{minipage}{.5\linewidth} Nom et prénom : \vspace*{.5cm}\namefielddots \vspace*{1mm} \end{minipage} }} \begin{center}\em Durée : 1h. Aucun document, calculatrice, moyen de communication n’est autorisé. Les questions ont une unique bonne réponse. \end{center} \vspace{1ex} %%% fin de l'en-tête \begin{question}{appendtuple} Qu’affichera le programme python suivant~? \lstinputlisting{appendtuple.py} \begin{reponses} \bonne{Une erreur car on utilise mal le tuple} \mauvaise{Une erreur car on demande le mauvais indice} \mauvaise{('John', 'Amaglio', 'Aya', 'Ano Nîmes')} \mauvaise{'Ano Nîmes'} \mauvaise{Ano Nîmes} \end{reponses} \end{question} \begin{question}{gettuple} Quelle est la valeur de la variable r à la fin de l'exécution du script suivant ? \lstinputlisting{gettuple.py} \begin{reponses} \bonne{-14} \mauvaise{7} \mauvaise{-2} \mauvaise{14} \mauvaise{-7} \end{reponses} \end{question} \begin{question}{getlist} On définit ainsi une liste M : \lstinputlisting{getlist.py} Quelle expression vaut la chaîne de caractères 'L' ? \begin{reponses} \bonne{M[2][3]} \mauvaise{M[3][4]} \mauvaise{M[11]} \mauvaise{M[12]} \end{reponses} \end{question} \begin{question}{setlist} On dispose d'une liste définie par L = [15,17,12,23]. Quelle est la valeur de L après l'instruction L[2] = 25 ? \begin{reponses} \mauvaise{[15,25,12,23]} \mauvaise{[15,17,25,12,23]} \bonne{[15,17,25,23]} \mauvaise{[15,17,12,25,23]} \end{reponses} \end{question} \begin{question}{setlistoflist} On considère la liste de listes suivante : \lstinputlisting{setlistoflist.py} Quelle instruction permet d’obtenir une colonne de X~? \begin{reponses} \mauvaise{tictactoe[3] = 'X'} \mauvaise{tictactoe[4] = 'X'} \bonne{tictactoe[1][1] = 'X'} \mauvaise{tictactoe[2][2] = 'X'} \end{reponses} \end{question} \begin{question}{comprehensionlist} Que vaut l'expression [ 2*c for c in range(5) ] ? \begin{reponses} \bonne{[0,2,4,6,8]} \mauvaise{[2,4,6,8,10]} \mauvaise{[1,2,4,8,16]} \mauvaise{[2,4,8,16,32]} \end{reponses} \end{question} \begin{question}{listcopy} On exécute le programme suivant : \lstinputlisting{listcopy.py} Que vaut B à la fin de l'exécution ? \begin{reponses} \mauvaise{Le programme déclenche une erreur d'exécution} \mauvaise{[ [3,2,1], [6,5,4], [9,8,7] ]} \bonne{[ [1,4,7], [2,5,8], [3,6,9] ]} \mauvaise{[ [7,8,9], [4,5,6], [1,2,3] ]} \end{reponses} \end{question} \begin{question}{comprehensionlistoflist} On veut affecter à t la valeur [[0,1,2], [3,4,5], [6,7,8], [9,10,11], [12,13,14]]. Pour cela on utilise le code suivant. Par quoi doit-on remplacer les pointillés …… ? \lstinputlisting{comprehensionlistoflist.py} \begin{reponses} \mauvaise{i*j + j} \bonne{p*i + j} \mauvaise{p*j + i} \mauvaise{i*(j+1)} \end{reponses} \end{question} \begin{question}{adddict} Quelle opération permet d’ajouter la clé 'note' et la valeur 8 correspondante, à un dictionnaire d existant~? \begin{reponses} \bonne{d['note'] = 8} \mauvaise{d.append('note') = 8} \mauvaise{d.append('note', 8)} \mauvaise{On ne peut pas modifier les dictionnaires} \end{reponses} \end{question} } \end{document}