% Questions générées automatiquement

\element{C3}{
\begin{question}{q1}

On définit un dictionnaire :

\inputminted[xleftmargin=20pt]{python}{codes/q1_1.py}

Quelle est la valeur de l'expression d.keys() ?

  \begin{reponses}
    \bonne{['couleur', 'taille', 'marque']}
    \mauvaise{[('couleur', 'vert'), ('taille', 42), ('marque', 'le coq sportif')]}
    \mauvaise{['vert', 42, 'le coq sportif']}
    \mauvaise{['couleur': 'vert', 'taille': 42, 'marque': 'le coq sportif']}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q2}

Comment peut-on accéder à la valeur associée à une clé dans un dictionnaire ?

  \begin{reponses}
    \mauvaise{il faut parcourir le dictionnaire avec une boucle à la recherche de la clé}
    \bonne{on peut y accéder directement à partir de la clé}
    \mauvaise{on ne peut pas accéder à une valeur contenue dans un dictionnaire à partir d’une clé}
    \mauvaise{il faut d’abord déchiffrer la clé pour accéder à un dictionnaire}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q3}

On définit le dictionnaire d = \{'a': 1, 'b': 2, 'c': 3, 'z': 26\}. Quelle expression permet de récupérer la valeur de la clé 'z' ?

  \begin{multicols}{4}
  \begin{reponses}
    \mauvaise{d[4]}
    \mauvaise{d[26]}
    \mauvaise{d[z]}
    \bonne{d['z']}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q4}

Quel est le type de la variable billes définie par : billes = \{'vert': 6, 'rouge': 15, 'bleu': 11, 'jaune': 2, 'orange': 17 \}

  \begin{multicols}{2}
  \begin{reponses}
    \mauvaise{c'est une séquence}
    \mauvaise{c'est une liste}
    \mauvaise{c'est une liste de listes}
    \bonne{c'est un dictionnaire}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q5}

Considérons le dictionnaire suivant : resultats = \{'Paul':5 , 'Amina':1 , 'Léon' : 9 , 'Benoit':3\}

Quelle affirmation est correcte ?

  \begin{reponses}
    \bonne{resultats['Amina'] vaut 1}
    \mauvaise{resultats[1] vaut 'Amina'}
    \mauvaise{'Paul' est une valeur de ce dictionnaire}
    \mauvaise{9 est une clé de ce dictionnaire}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q6}

Après avoir défini : d = \{ 'tigre': 'félin', 'tortue': 'reptile', 'renard': 'canidé' \}

laquelle des quatre expressions suivantes est correcte ?

  \begin{multicols}{2}
  \begin{reponses}
    \bonne{d['tortue']}
    \mauvaise{d['reptile']}
    \mauvaise{d['tortue': 'reptile']}
    \mauvaise{d[1]}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q7}

On exécute le script suivant :

\inputminted[xleftmargin=20pt]{python}{codes/q7_2.py}

Que contient la variable stock à la fin de cette exécution ?

  \begin{multicols}{2}
  \begin{reponses}
    \mauvaise{\{430, 274, 137\}}
    \mauvaise{312}
    \bonne{841}
    \mauvaise{\{ 'pommes', 'oranges', 'poires' \}}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q8}

On définit ainsi une liste P :

\inputminted[xleftmargin=20pt]{python}{codes/q8_3.py}

Que fait alors l'instruction P[1]["âge"] = 25 ?

  \begin{reponses}
    \bonne{elle modifie la valeur de la clé âge du deuxième élément de la liste P}
    \mauvaise{elle modifie la valeur de la clé âge du premier élément de la liste P}
    \mauvaise{elle donne la longueur de la liste P}
    \mauvaise{elle donne la longueur du premier élément de la liste P}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q9}

La variable sequence contient une liste de lettres, éventuellement répétées, choisies parmi 'A', 'B', 'C', 'D'. On veut créer un dictionnaire effectifs associant à chaque lettre le nombre de fois qu'elle apparaît dans la liste sequence.

Par exemple si sequence contient ['A', 'B', 'B', 'D', 'B', 'A'], effectifs doit contenir \{'A':2, 'B':3, 'C':0, 'D':1\}.

Parmi les scripts suivants, lequel réalise cet objectif ?

  \begin{reponses}
    \bonne{\inputminted[xleftmargin=20pt]{python}{codes/r9_a.py}}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r9_b.py}}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r9_c.py}}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r9_d.py}}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q10}

On a défini

\inputminted[xleftmargin=20pt]{python}{codes/q10_8.py}

Quelle est la valeur de l'expression dico['a'][1]?

  \begin{reponses}
    \mauvaise{1}
    \bonne{2}
    \mauvaise{(1,2,3)}
    \mauvaise{cette expression est incorrecte, l'évaluer déclenche une erreur}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q11}

Quelle est la valeur affichée à l'exécution du programme Python suivant ?

\inputminted[xleftmargin=20pt]{python}{codes/q11_9.py}

  \begin{multicols}{2}
  \begin{reponses}
    \mauvaise{3}
    \bonne{21}
    \mauvaise{\{ 'ftp': 21 \}}
    \mauvaise{Key not found}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q13}

On définit ainsi une liste P :

\inputminted[xleftmargin=20pt]{python}{codes/q13_10.py}

Comment accéder à la chaîne de caractères "Alan" ?

  \begin{multicols}{4}
  \begin{reponses}
    \mauvaise{P[0]}
    \mauvaise{P[1]}
    \bonne{P[0]["prénom"]}
    \mauvaise{P[1]["prénom"]}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q14}

On exécute le script suivant :

\inputminted[xleftmargin=20pt]{python}{codes/q14_11.py}

Quelle est la valeur de la variable stock à la fin de cette exécution ?

  \begin{reponses}
    \mauvaise{\{‘clous’: 14, ‘vis’: 27, ‘boulons’: 8, ‘écrous’: 24\}}
    \mauvaise{\{‘clous’: 14, ‘vis’: 32, ‘boulons’: 8, ‘écrous’: 24\}}
    \mauvaise{\{‘clous’: 14, ‘vis’: 27, ‘boulons’: 8, ‘écrous’: 24, 'chevilles': 3\}}
    \bonne{\{‘clous’: 14, ‘vis’: 32, ‘boulons’: 8, ‘écrous’: 24, 'chevilles': 3\}}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q15}

On considère le code suivant :

\inputminted[xleftmargin=20pt]{python}{codes/q15_12.py}

Que vaut D['a'] à la fin de son exécution ?

  \begin{multicols}{4}
  \begin{reponses}
    \bonne{'1'}
    \mauvaise{2}
    \mauvaise{[ '2', 'b' ]}
    \mauvaise{[ '1', '3' ]}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q16}

On a défini un dictionnaire :

\inputminted[xleftmargin=20pt]{python}{codes/q16_13.py}

Quelle instruction écrire pour ajouter à ce dictionnaire un nouveau contact nommé Juliette avec le numéro de téléphone 0603040506 ?

  \begin{reponses}
    \mauvaise{'Juliette': '0603040506'}
    \mauvaise{contacts.append('Juliette': '0603040506')}
    \bonne{contacts['Juliette'] = '0603040506'}
    \mauvaise{contacts.append('Juliette', '0603040506')}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q17}

On considère le script suivant :

\inputminted[xleftmargin=20pt]{python}{codes/q17_14.py}

Par quoi faut-il remplacer XXXXXXX dans ce script pour qu'à la fin de son exécution la variable total contienne le nombre total de billes ?

  \begin{multicols}{4}
  \begin{reponses}
    \mauvaise{keys}
    \bonne{values}
    \mauvaise{items}
    \mauvaise{numbers}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q18}

On définit :

\inputminted[xleftmargin=20pt]{python}{codes/q18_15.py}

qui associe nom et âge de trois élèves.

Comment accéder à l'âge de Kevin ?

  \begin{multicols}{2}
  \begin{reponses}
    \mauvaise{dico[1]}
    \mauvaise{dico[Kevin]}
    \bonne{dico["Kevin"]}
    \mauvaise{dico("Kevin")}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q19}

On exécute le code suivant :

\inputminted[xleftmargin=20pt]{python}{codes/q19_16.py}

Quelle est la valeur de la variable L à l'issue de cette exécution ?

  \begin{multicols}{4}
  \begin{reponses}
    \mauvaise{[ 3, 6, 7 ]}
    \mauvaise{[ 3, 6, 7, 4 ]}
    \mauvaise{[ 5, 6, 7 ]}
    \bonne{[ 5, 6, 7, 4 ]}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q20}

Pour gérer certaines données EXIF de photographies, on a utilisé le code suivant pour stocker dans une liste L de dictionnaires quelques données :

\inputminted[xleftmargin=20pt]{python}{codes/q20_17.py}

On veut extraire de ces informations la liste Z des photographies obtenues avec un Canon ou un Nikon et une distance focale de 19 mm.

Quelle instruction permet de réaliser cette extraction ?

  \begin{reponses}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r20_a.py}}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r20_b.py}}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r20_c.py}}
    \bonne{\inputminted[xleftmargin=20pt]{python}{codes/r20_d.py}}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q21}

On définit :

\inputminted[xleftmargin=20pt]{python}{codes/q21_22.py}

Parmi les propositions suivantes, laquelle est exacte ?

  \begin{reponses}
    \mauvaise{'Chloé' est une valeur de la variable contacts}
    \bonne{'Chloé' est une clé de la variable contacts}
    \mauvaise{'Chloé' est un attribut de la variable contacts}
    \mauvaise{'Chloé' est un champ de la variable contacts}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q22}

On considère la table suivants :

\inputminted[xleftmargin=20pt]{python}{codes/q22_23.py}

Quelle expression permet d'obtenir la quantié de scies ?

  \begin{multicols}{2}
  \begin{reponses}
    \mauvaise{t[2]['quantité']}
    \bonne{t[1]['quantité']}
    \mauvaise{t['quantité'][1]}
    \mauvaise{t['scies']['quantité']}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q23}

On définit ainsi une liste t :

\inputminted[xleftmargin=20pt]{python}{codes/q23_24.py}

Quelle affirmation est correcte ?

  \begin{reponses}
    \mauvaise{t est une liste de listes}
    \bonne{t est une liste de dictionnaires}
    \mauvaise{t est un dictionnaire de listes}
    \mauvaise{t est une liste de tuples}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q24}

On exécute le code suivant :

\inputminted[xleftmargin=20pt]{python}{codes/q24_25.py}

Que renvoie l'appel f(dict) ?

  \begin{multicols}{2}
  \begin{reponses}
    \mauvaise{19}
    \mauvaise{19,19}
    \bonne{"charlotte"}
    \mauvaise{"charlotte","noé"}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q25}

On définit la variable suivante : lettres = \{"a": 1, "b": 2, "c": 3\}.

Quelle est la valeur de l'expression list(lettres.keys()) ?

  \begin{multicols}{2}
  \begin{reponses}
    \mauvaise{[a,b,c]}
    \mauvaise{[1,2,3]}
    \bonne{["a","b","c"]}
    \mauvaise{\{"a": 1, "b": 2, "c": 3\}}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q26}

On exécute le script suivant :

\inputminted[xleftmargin=20pt]{python}{codes/q26_26.py}

Quelle est la valeur de t à la fin de cette exécution ?

  \begin{reponses}
    \mauvaise{Paul}
    \bonne{["Paul", '"Jean", "Clara", "'Aïssa']}
    \mauvaise{[12, 16, 14, 18]}
    \mauvaise{[ "Paul": 12, "Jean": 16, "Clara": 14, "Aïssa": 18 ]}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q27}

Par quelle expression remplacer les pointillés dans le programme Python suivant, pour que son exécution affiche le numéro de Dupond ?

\inputminted[xleftmargin=20pt]{python}{codes/q27_27.py}

  \begin{reponses}
    \mauvaise{nom == 'Dupond'}
    \mauvaise{repertoire['nom'] == 'Dupond'}
    \mauvaise{repertoire[i] == 'Dupond'}
    \bonne{repertoire[i]['nom'] == 'Dupond'}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q28}

On définit :

\inputminted[xleftmargin=20pt]{python}{codes/q28_28.py}

Quelle expression a-t-elle pour valeur le nombre de pommes ?

  \begin{multicols}{2}
  \begin{reponses}
    \bonne{T[2]['nombre']}
    \mauvaise{T[2,'nombre']}
    \mauvaise{T[3]['nombre']}
    \mauvaise{T[3,'nombre']}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q29}

Quelle expression Python permet d’accéder au numéro de téléphone de Tournesol, sachant que le répertoire a été défini par l’affectation suivante :

\inputminted[xleftmargin=20pt]{python}{codes/q29_29.py}

  \begin{multicols}{2}
  \begin{reponses}
    \mauvaise{repertoire['Tournesol']}
    \mauvaise{repertoire['tel'][1]}
    \bonne{repertoire[1]['tel']}
    \mauvaise{repertoire['Tournesol'][tel]}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q30}

On définit ainsi une liste t puis une liste r :

\inputminted[xleftmargin=20pt]{python}{codes/q30_30.py}

Combien la liste r contient-elle d'éléments ?

  \begin{multicols}{4}
  \begin{reponses}
    \mauvaise{0}
    \bonne{1}
    \mauvaise{2}
    \mauvaise{3}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q31}

On définit ainsi une liste t :

\inputminted[xleftmargin=20pt]{python}{codes/q31_31.py}

Quelle expression vaut-elle 'RIO' parmi les suivantes ?

  \begin{multicols}{2}
  \begin{reponses}
    \bonne{t[4]['sejour']}
    \mauvaise{t[5]['sejour']}
    \mauvaise{t('id'=5)}
    \mauvaise{t.['id'=5].['sejour']}
  \end{reponses}
  \end{multicols}
\end{question}
}

\element{C3}{
\begin{question}{q32}

On considère des dictionnaires comme

\inputminted[xleftmargin=20pt]{python}{codes/q32_32.py}

pour retenir les notes d'un élève.

On définit :

\inputminted[xleftmargin=20pt]{python}{codes/q32_33.py}

pour définir un ordre croissant sur ces dictionnaires.

Ranger dans l'ordre croissant les dictionnaires suivants :

\inputminted[xleftmargin=20pt]{python}{codes/q32_34.py}
  \begin{multicols}{2}

  \begin{reponses}
    \mauvaise{n1, n2, n3, n4, n5}
    \mauvaise{n1, n4, n2, n4, n5}
    \bonne{n1, n3, n2, n4, n5}
    \mauvaise{n5, n4, n2, n3, n1}
  \end{reponses}
    \end{multicols}

\end{question}
}

\element{C3}{
\begin{question}{q33}

Par quoi faut-il remplacer les pointillés dans le script suivant :

\inputminted[xleftmargin=20pt]{python}{codes/q33_35.py}

pour qu'il affiche

\inputminted[xleftmargin=20pt]{python}{codes/q33_36.py}
  \begin{multicols}{2}

  \begin{reponses}
    \bonne{\inputminted[xleftmargin=20pt]{python}{codes/r33_a.py}}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r33_b.py}}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r33_c.py}}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r33_d.py}}
  \end{reponses}
    \end{multicols}

\end{question}
}

\element{C3}{
\begin{question}{q34}

On définit :

\inputminted[xleftmargin=20pt]{python}{codes/q34_41.py}

Quelle expression permet d'obtenir la liste des noms des produits effectivement présents dans le stock (c'est-à-dire ceux dont la quantité n'est pas nulle) ?

  \begin{reponses}
    \mauvaise{['nom' for p in stock if 'quantité' != 0]}
    \mauvaise{[p for p in stock if p['quantité'] != 0]}
    \mauvaise{[p['nom'] for p in stock if 'quantité' != 0]}
    \bonne{[p['nom'] for p in stock if p['quantité'] != 0]}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q35}

On considère le code suivant :

\inputminted[xleftmargin=20pt]{python}{codes/q35_42.py}

Que renvoie clearfield(fiche) ?

  \begin{reponses}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r35_a.py}}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r35_b.py}}
    \mauvaise{\inputminted[xleftmargin=20pt]{python}{codes/r35_c.py}}
    \bonne{\inputminted[xleftmargin=20pt]{python}{codes/r35_d.py}}
  \end{reponses}
\end{question}
}

\element{C3}{
\begin{question}{q36}

On a défini

\inputminted[xleftmargin=20pt]{python}{codes/q36_47.py}

Quelle expression permet d'accéder au poste d'Éric ?

  \begin{multicols}{2}
  \begin{reponses}
    \bonne{repertoire[2]['poste']}
    \mauvaise{repertoire['poste'][2]}
    \mauvaise{repertoire['Éric']['poste']}
    \mauvaise{repertoire['Éric']}
  \end{reponses}
  \end{multicols}
\end{question}
}
