QUESTIONS CHAPITRE 3
Q1 - On définit un dictionnaire :
d = {'couleur': 'vert', 'taille': 42, 'marque': 'le coq sportif'}
Quelle est la valeur de l'expression d.keys() ?
Réponses :
A- ['couleur', 'taille', 'marque']
B- [('couleur', 'vert'), ('taille', 42), ('marque', 'le coq sportif')]
C- ['vert', 42, 'le coq sportif']
D- ['couleur': 'vert', 'taille': 42, 'marque': 'le coq sportif']
Q2 - Comment peut-on accéder à la valeur associée à une clé dans un dictionnaire ?
Réponses :
A- il faut parcourir le dictionnaire avec une boucle à la recherche de la clé
B- on peut y accéder directement à partir de la clé
C- on ne peut pas accéder à une valeur contenue dans un dictionnaire à partir d’une clé
D- il faut d’abord déchiffrer la clé pour accéder à un dictionnaire
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' ?
Réponses :
A- d[4]
B- d[26]
C- d[z]
D- d['z']
Q4 - Quel est le type de la variable billes définie par : billes = {'vert': 6, 'rouge': 15, 'bleu': 11, 'jaune': 2, 'orange': 17 }
Réponses :
A- c'est une séquence
B- c'est une liste
C- c'est une liste de listes
D- c'est un dictionnaire
Q5 - Considérons le dictionnaire suivant : resultats = {'Paul':5 , 'Amina':1 , 'Léon' : 9 , 'Benoit':3}
Quelle affirmation est correcte ?
Réponses :
A- resultats['Amina'] vaut 1
B- resultats[1] vaut 'Amina'
C- 'Paul' est une valeur de ce dictionnaire
D- 9 est une clé de ce dictionnaire
Q6 - Après avoir défini : d = { 'tigre': 'félin', 'tortue': 'reptile', 'renard': 'canidé' }
laquelle des quatre expressions suivantes est correcte ?
Réponses :
A- d['tortue']
B- d['reptile']
C- d['tortue': 'reptile']
D- d[1]
Q7 - On exécute le script suivant :
inventaire = {'pommes': 430, 'bananes': 312,'oranges' : 274, 'poires' : 137}
stock = 0
for fruit in inventaire.keys():
if fruit != 'bananes':
stock = stock + inventaire[fruit]
Que contient la variable stock à la fin de cette exécution ?
Réponses :
A- {430, 274, 137}
B- 312
C- 841
D- { 'pommes', 'oranges', 'poires' }
Q8 - On définit ainsi une liste P :
P = [{"nom":"Turing","prénom":"Alan","âge":28},{"nom":"Lovelace","prénom":"Ada","âge":27}]
Que fait alors l'instruction P[1]["âge"] = 25 ?
Réponses :
A- elle modifie la valeur de la clé âge du deuxième élément de la liste P
B- elle modifie la valeur de la clé âge du premier élément de la liste P
C- elle donne la longueur de la liste P
D- elle donne la longueur du premier élément de la liste P
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 ?
Réponses :
A-
effectifs = {'A':0, 'B':0, 'C':0, 'D':0}
for lettre in sequence:
effectifs[lettre] = effectifs[lettre] + 1
B-
effectifs = {}
for lettre in sequence:
effectifs[lettre] = effectifs[lettre] + 1
C-
effectifs = {'A':0, 'B':0, 'C':0, 'D':0}
for lettre in effectifs.keys():
effectifs[lettre] = len([lettre in effectifs])
D-
effectifs = {}
for lettre in effectifs.keys():
effectifs[lettre] = len([lettre in effectifs])
Q10 - On a défini
dico = { 'a': (1,2,3), 'b': (4,5,6) }
Quelle est la valeur de l'expression dico['a'][1]?
Réponses :
A- 1
B- 2
C- (1,2,3)
D- cette expression est incorrecte, l'évaluer déclenche une erreur
Q11 - Quelle est la valeur affichée à l'exécution du programme Python suivant ?
ports = { 'http': 80, 'imap': 142, 'smtp': 25 }
ports['ftp'] = 21
print(ports['ftp'])
Réponses :
A- 3
B- 21
C- { 'ftp': 21 }
D- Key not found
Q12 - On dispose du dictionnaire regions ci-dessous :
regions = {'Mayotte': 376, 'Pays de la Loire': 32082,'La Réunion': 2504, 'Grand Est': 57441,'Martinique': 1128, 'Corse': 8680,'Bretagne': 27208, 'Nouvelle-Aquitaine': 84036}
Parmi les instructions suivantes, laquelle permet d'ajouter une nouvelle région ?
Réponses :
A- INSERT "'Hauts de France':31806" INTO regions
B- regions = dict(['Hauts de France'] = 31806)
C- regions('Hauts de France') = 31806
D- regions['Hauts de France'] = 31806
Q13 - On définit ainsi une liste P :
P = [ {"nom":"Turing","prénom":"Alan","âge":28},{"nom":"Lovelace","prénom":"Ada","âge":27} ]
Comment accéder à la chaîne de caractères "Alan" ?
Réponses :
A- P[0]
B- P[1]
C- P[0]["prénom"]
D- P[1]["prénom"]
Q14 - On exécute le script suivant :
def ajoute(stock,element,quantite):
if element in stock:
stock[element] = stock[element] + quantite
else:
stock[element] = quantite
stock = { 'clous': 14, 'vis': 27, 'boulons': 8, 'écrous': 24 }
ajoute(stock,'vis',5)
ajoute(stock,'chevilles',3)
Quelle est la valeur de la variable stock à la fin de cette exécution ?
Réponses :
A- {‘clous’: 14, ‘vis’: 27, ‘boulons’: 8, ‘écrous’: 24}
B- {‘clous’: 14, ‘vis’: 32, ‘boulons’: 8, ‘écrous’: 24}
C- {‘clous’: 14, ‘vis’: 27, ‘boulons’: 8, ‘écrous’: 24, 'chevilles': 3}
D- {‘clous’: 14, ‘vis’: 32, ‘boulons’: 8, ‘écrous’: 24, 'chevilles': 3}
Q15 - On considère le code suivant :
D = { 'a': '1', '2': 'a', 'b': 'a', 'c': '3'}
Que vaut D['a'] à la fin de son exécution ?
Réponses :
A- '1'
B- 2
C- [ '2', 'b' ]
D- [ '1', '3' ]
Q16 - On a défini un dictionnaire :
contacts = {'Paul': '0601010182', 'Jacques': '0602413824', 'Claire': '0632451153'}
Quelle instruction écrire pour ajouter à ce dictionnaire un nouveau contact nommé Juliette avec le numéro de téléphone 0603040506 ?
Réponses :
A- 'Juliette': '0603040506'
B- contacts.append('Juliette': '0603040506')
C- contacts['Juliette'] = '0603040506'
D- contacts.append('Juliette', '0603040506')
Q17 - On considère le script suivant :
billes = {'vert': 6, 'rouge': 15, 'bleu': 11, 'jaune': 2, 'orange': 17 }
total = 0
for n in billes.XXXXXXX():
total = total + n
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 ?
Réponses :
A- keys
B- values
C- items
D- numbers
Q18 - On définit :
dico = {"Herve": 15, "Kevin":17, "Fatima":16}
qui associe nom et âge de trois élèves.
Comment accéder à l'âge de Kevin ?
Réponses :
A- dico[1]
B- dico[Kevin]
C- dico["Kevin"]
D- dico("Kevin")
Q19 - On exécute le code suivant :
placard = { 'chemise': 3, 'pantalon': 6, 'tee shirt': 7 }
placard['chaussette'] = 4
placard['chemise'] = 5
L = list(placard.values())
Quelle est la valeur de la variable L à l'issue de cette exécution ?
Réponses :
A- [ 3, 6, 7 ]
B- [ 3, 6, 7, 4 ]
C- [ 5, 6, 7 ]
D- [ 5, 6, 7, 4 ]
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 :
L = []
L.append({'marque': 'Canon', 'modele': 'EOS 7D', 'focale': '19mm', 'flash': False})
L.append({'marque': 'Nikon', 'modele': 'CoolPix A1000', 'focale': '19mm', 'flash': True})
L.append({'marque': 'Sony', 'modele': 'HK 350', 'focale': '24mm', 'flash': False})
L.append({'marque': 'Sony', 'modele': 'HK 350', 'focale': '19mm', 'flash': True})
# ……
# et ainsi de suite, d'autres informations ont été ajoutées
# ……
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 ?
Réponses :
A-
Z = [ p for p in L if (p['marque'] == 'Canon' or p['focale'] == '19mm') and (p['marque'] == 'Nikon' or p['focale'] == '19mm') ]
B-
Z = [ p for p in L if (p['marque'] == 'Canon' and p['focale'] == '19mm') and (p['marque'] == 'Nikon' and p['focale'] == '19mm') ]
C-
Z = [ p for p in L if (p['marque'] == 'Canon' or p['focale'] == '19mm') or (p['marque'] == 'Nikon' or p['focale'] == '19mm') ]
D-
Z = [ p for p in L if (p['marque'] == 'Canon' and p['focale'] == '19mm') or (p['marque'] == 'Nikon' and p['focale'] == '19mm') ]
Q21 - On définit :
contacts = {'Toto': 'toto@nsi.fr', 'Chloé': 'chloe@nsi.com','Paul': 'paul@nsi.net', 'Clémence': 'clemence@nsi.org' }
Parmi les propositions suivantes, laquelle est exacte ?
Réponses :
A- 'Chloé' est une valeur de la variable contacts
B- 'Chloé' est une clé de la variable contacts
C- 'Chloé' est un attribut de la variable contacts
D- 'Chloé' est un champ de la variable contacts
Q22 - On considère la table suivants :
t = [{'type': 'marteau', 'prix': 17, 'quantité': 32},{'type': 'scie', 'prix': 24, 'quantité': 3},{'type': 'tournevis', 'prix': 8, 'quantité': 45}]
Quelle expression permet d'obtenir la quantié de scies ?
Réponses :
A- t[2]['quantité']
B- t[1]['quantité']
C- t['quantité'][1]
D- t['scies']['quantité']
Q23 - On définit ainsi une liste t :
t = [ {'id':1, 'age':23, 'sejour':'PEKIN'},{'id':2, 'age':27, 'sejour':'ISTANBUL'},{'id':3, 'age':53, 'sejour':'LONDRES'},{'id':4, 'age':41, 'sejour':'ISTANBUL'},{'id':5, 'age':62, 'sejour':'RIO'},{'id':6, 'age':28, 'sejour':'ALGER'}]
Quelle affirmation est correcte ?
Réponses :
A- t est une liste de listes
B- t est une liste de dictionnaires
C- t est un dictionnaire de listes
D- t est une liste de tuples
Q24 - On exécute le code suivant :
dict = {"alexandre" : 17, "mehdi" : 18, "jeanne" : 16,"charlotte" : 19, "celina" : 18, "noé" : 19}
def f(dic):
for cle, valeur in dic.items() :
if valeur > 18:
return cle
Que renvoie l'appel f(dict) ?
Réponses :
A- 19
B- 19,19
C- "charlotte"
D- "charlotte","noé"
Q25 - On définit la variable suivante : lettres = {"a": 1, "b": 2, "c": 3}.
Quelle est la valeur de l'expression list(lettres.keys()) ?
Réponses :
A- [a,b,c]
B- [1,2,3]
C- ["a","b","c"]
D- {"a": 1, "b": 2, "c": 3}
Q26 - On exécute le script suivant :
notes = {"Paul": 12, "Jean": 16, "Clara": 14, "Aïssa": 18}
t = list(notes.keys())
Quelle est la valeur de t à la fin de cette exécution ?
Réponses :
A- Paul
B- ["Paul", '"Jean", "Clara", "'Aïssa']
C- [12, 16, 14, 18]
D- [ "Paul": 12, "Jean": 16, "Clara": 14, "Aïssa": 18 ]
Q27 - Par quelle expression remplacer les pointillés dans le programme Python suivant, pour que son exécution affiche le numéro de Dupond ?
repertoire = [{'nom':'Dupont', 'tel':'5234'},{'nom':'Tournesol', 'tel':'5248'}, {'nom':'Dupond', 'tel':'3452'}]
for i in range(len(repertoire)):
if ...... :
print(repertoire[i]['tel'])
Réponses :
A- nom == 'Dupond'
B- repertoire['nom'] == 'Dupond'
C- repertoire[i] == 'Dupond'
D- repertoire[i]['nom'] == 'Dupond'
Q28 - On définit :
T = [{'fruit': 'banane', 'nombre': 25}, {'fruit': 'orange', 'nombre': 124}, {'fruit': 'pomme', 'nombre': 75}, {'fruit': 'kiwi', 'nombre': 51}]
Quelle expression a-t-elle pour valeur le nombre de pommes ?
Réponses :
A- T[2]['nombre']
B- T[2,'nombre']
C- T[3]['nombre']
D- T[3,'nombre']
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 :
repertoire = [{'nom':'Dupont', 'tel':'5234'}, {'nom':'Tournesol', 'tel':'5248'}, {'nom':'Dupond', 'tel':'3452'}]
Réponses :
A- repertoire['Tournesol']
B- repertoire['tel'][1]
C- repertoire[1]['tel']
D- repertoire['Tournesol'][tel]
Q30 - On définit ainsi une liste t puis une liste r :
t = [ {'id':1, 'age':23, 'sejour':'PEKIN'},{'id':2, 'age':27, 'sejour':'ISTANBUL'},{'id':3, 'age':53, 'sejour':'LONDRES'},{'id':4, 'age':41, 'sejour':'ISTANBUL'},{'id':5, 'age':62, 'sejour':'RIO'},{'id':6, 'age':28, 'sejour':'ALGER'}]
r = [ c for c in t if c['age']>30 and c['sejour']=='ISTANBUL' ]
Combien la liste r contient-elle d'éléments ?
Réponses :
A- 0
B- 1
C- 2
D- 3
Q31 - On définit ainsi une liste t :
t = [ {'id':1, 'age':23, 'sejour':'PEKIN'},{'id':2, 'age':27, 'sejour':'ISTANBUL'},{'id':3, 'age':53, 'sejour':'LONDRES'},{'id':4, 'age':41, 'sejour':'ISTANBUL'},{'id':5, 'age':62, 'sejour':'RIO'},{'id':6, 'age':28, 'sejour':'ALGER'}]
Quelle expression vaut-elle 'RIO' parmi les suivantes ?
Réponses :
A- t[4]['sejour']
B- t[5]['sejour']
C- t('id'=5)
D- t.['id'=5].['sejour']
Q32 - On considère des dictionnaires comme
{ 'nom': 'Jérôme', 'NSI': 16.2, 'maths': 11.4, 'physique': 13.0 }
pour retenir les notes d'un élève.
On définit :
def somme(notes):
return notes['NSI'] + notes['maths'] + notes['physique']
def plusPetit(n1, n2):
if n1['NSI'] < n2['NSI']:
return True
if n1['NSI'] == n2['NSI']:
if somme(n1) < somme(n2):
return True
elif somme(n1) == somme(n2) and n1['nom'] < n2['nom']:
return True
return False
pour définir un ordre croissant sur ces dictionnaires.
Ranger dans l'ordre croissant les dictionnaires suivants :
n1 = { 'nom': "Albert", 'NSI': 12.3, 'maths': 14.0, 'physique': 8.7 }
n2 = { 'nom': "Béatrice", 'NSI': 12.3, 'maths': 11.0, 'physique': 12.5 }
n3 = { 'nom': "Colin", 'NSI': 12.3, 'maths': 7.0, 'physique': 15.7 }
n4 = { 'nom': "Daniel", 'NSI': 13.4, 'maths': 9.0, 'physique': 5.2 }
n5 = { 'nom': "Emilie", 'NSI': 16.1, 'maths': 5.3, 'physique': 14.4 }
Réponses :
A- n1, n2, n3, n4, n5
B- n1, n4, n2, n4, n5
C- n1, n3, n2, n4, n5
D- n5, n4, n2, n3, n1
Q33 - Par quoi faut-il remplacer les pointillés dans le script suivant :
relevé = [{'matière':'EPS','moyenne':11}, {'matière':'Sciences','moyenne':6}, {'matière':'LV1','moyenne':14}, {'matière':'Histoire','moyenne':9}, {'matière':'LV2','moyenne':15}]
a = ......
b = ......
for i in relevé :
if i[a] > 10:
print(i[b])
pour qu'il affiche
EPS
LV1
LV2
Réponses :
A-
a = 'moyenne'
b = 'matière'
B-
a = 'matière
b = 'moyenne'
C-
a = 0
b = 1
D-
a = 1
b = 0
Q34 - On définit :
stock = [{'nom': 'flageolets', 'quantité': 50, 'prix': 5.68},{'nom': 'caviar', 'quantité': 0, 'prix': 99.99},.........,.........,{'nom': 'biscuits', 'quantité': 100, 'prix': 7.71}]
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) ?
Réponses :
A- ['nom' for p in stock if 'quantité' != 0]
B- [p for p in stock if p['quantité'] != 0]
C- [p['nom'] for p in stock if 'quantité' != 0]
D- [p['nom'] for p in stock if p['quantité'] != 0]
Q35 - On considère le code suivant :
def clearfield(f):
for i in range(len(f)):
fiche[i]['code'] = None
return f
fiche = [{"nom": "pierre", "note": 5.99, "code": 125},{"nom": "pol", "note": 2.99, "code": 82},{"nom": "jack", "note": 7.99, "code": 135}]
Que renvoie clearfield(fiche) ?
Réponses :
A-
[{"nom": "pierre", "note": 5.99, "code": 125},{"nom": "pol", "note": 2.99, "code": 82},{"nom": "jack", "note": 7.99, "code": 135}]
B-
[{"nom": "pierre", "note": None, "code": 125},{"nom": "pol", "note": None, "code": 82},{"nom": "jack", "note": None, "code": 135}]
C-
[{"nom": "pierre", "note": 5.99, "None": 125},{"nom": "pol", "note": 2.99, "None": 82},{"nom": "jack", "note": 7.99, "None": 135}]
D-
[{"nom": "pierre", "note": 5.99, "code": None},{"nom": "pol", "note": 2.99, "code": None},{"nom": "jack", "note": 7.99, "code": None}]
Q36 - On a défini
repertoire = [{'nom': 'Francette', 'poste': 412},{'nom': 'Jeanne', 'poste': 222},{'nom': 'Éric', 'poste': 231}]
Quelle expression permet d'accéder au poste d'Éric ?
Réponses :
A- repertoire[2]['poste']
B- repertoire['poste'][2]
C- repertoire['Éric']['poste']
D- repertoire['Éric']