NSI Première

Correction des exercices simples sur les Dictionnaires

Activité 1

In [2]:
mes_fruits = {"poire": 3, "pomme": 4, "orange": 2}

mes_fruits
Out[2]:
{'poire': 3, 'pomme': 4, 'orange': 2}

Activité 2

In [3]:
d = {"voiture": 25, "vélo": 55, "train": 20}
tr = d['vélo']

tr
Out[3]:
55
La valeur de la variable tr après l'exécution du programme ci-dessus est 55

Activité 3

In [5]:
tab = []
d = {"voiture": 25, "vélo": 55, "train": 20}
for t in d.values():
    if t < 40 :
        tab.append(t)
        
tab
Out[5]:
[25, 20]
La valeur de la variable tab après l'exécution de ce programme est la liste [25, 20]

Activité 4

In [7]:
tab = []
d = {"voiture": 25, "vélo": 55, "train": 20}
for v,t in d.items():
    if t < 40 :
        tab.append(v)
        
tab
Out[7]:
['voiture', 'train']
La valeur de la variable tab après l'exécution de ce programme est la liste ['voiture', 'train']

Activité 5

In [9]:
tab = [{'nom': 'toto', 'num': 2}, {'nom': 'titi', 'num': 5},  {'nom': 'tata', 'num': 4}]
tab_nom =  []

for t in tab :
    if t['num'] > 3:
        tab_nom.append(t['nom'])
        
tab_nom
Out[9]:
['titi', 'tata']
La valeur de la variable tab_nom après l'exécution de ce programme est la liste ['titi', 'tata']

Activité 6

On utilise un tableau contenant des dictionnaires afin de stocker les notes des élèves Titi, Toto et Tutu :

In [19]:
notes = [{'nom':'Titi', 'note':12}, {'nom':'Tutu', 'note':11}, {'nom':'Toto', 'note':17}]
In [20]:
def plusHaute(tab):
    nom = ""
    max_note = 0
    for t in tab:
        if t['note'] > max_note:
            max_note = t['note']
            nom = t['nom']
    return nom
In [21]:
plusHaute(notes)
Out[21]:
'Toto'

Activité 7

On utilise un tableau contenant des dictionnaires afin de stocker des noms et des numéros de téléphone :

In [15]:
numeros_tel = [{'nom':'Titi', 'num':987675643}, {'nom':'Tutu', 'num':424224}, {'nom':'Toto', 'num':343235365}]

La fonction numTel prend 2 paramètres :

un tableau de dictionnaires tab_tel contenant les noms et les numéros de téléphone (comme celui ci-dessus)   
un nom n

La fonction numTel doit renvoyer le numéro de téléphone de n si ce dernier existe.
Dans le cas où n n'existe pas, la fonction numTel doit renvoyer -1

In [16]:
def numTel(n, tab_tel):
    for t in tab_tel:
        if n  == t['nom']:
            return t['num']
    return -1
In [17]:
numTel('Tutu', numeros_tel)
Out[17]:
424224
In [18]:
numTel('Pika', numeros_tel)
Out[18]:
-1

Activité 8

On utilise un tableau contenant des dictionnaires afin de stocker les notes des élèves Titi, Toto et Tutu :

In [22]:
notes = [{'nom':'Titi', 'note':12}, {'nom':'Tutu', 'note':11}, {'nom':'Toto', 'note':17}]
In [ ]:
assert le_plus_leger(exemple_pokemons) == ('Bulbizarre', 7)
La fonction moyenne prend en paramètre un tableau contenant des dictionnaires (comme celui ci-dessus) et renvoie la moyenne des notes. Écrivez la fonction moyenne
In [24]:
def moyenne(tab):
    somme = 0
    for t in tab:
        somme = somme +  t['note']
    return somme/len(tab)   
In [25]:
moyenne(notes)
Out[25]:
13.333333333333334