% 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} }