Aller au contenu

QCM

Rappel

Les questions ci-dessous sont là pour vous aider à contrôler ce que vous avez retenu.
Si vous ne répondez pas à toutes les questions sans hésitation, c'est sans doute qu'il faut retravailler les pages précédentes.

Pour chaque question, il faut trouver la (ou les) bonne(s) réponse(s).

QCM 1

On considère le dictionnaire suivant :

1
D = {1: 3, 2: 4, 3: 5, 4: 2, 5: 1}

Quelle est la valeur de D[D[D[1]]] ?

  • 1
  • 2
  • 3
  • 5
Réponse
  • 1
  • 2
  • 3
  • 5

D[D[D[1]]] = D[D[3]] = D[5] = 1

QCM 2

On considère le dictionnaire suivant :

1
D = {1: 3, 2: 4, 3: 5, 4: 2, 5: 1}

Quelle est la valeur de D[D[D[2]]] ?

  • 2
  • 3
  • 4
  • 5
Réponse
  • 2
  • 3
  • 4
  • 5

D[D[D[2]]] = D[D[4]] = D[2] = 4

QCM 3

Dans un interpréteur Python, on entre les instructions suivantes :

1
2
>>> d = {i**2: i for i in range(-3,3)}
>>> d

Quel affichage obtient-on ?

  • {9: -3, 4: 2, 1: 1, 0: 0}
  • {4: 2, 1: 1, 0: 0, 9: 3}
  • {9: -3, 4: -2, 1: -1, 0: 0}
  • {0: 0, 1: 1, 2: 4, 3: 9}
Réponse
  • {9: -3, 4: 2, 1: 1, 0: 0}
  • {4: 2, 1: 1, 0: 0, 9: 3}
  • {9: -3, 4: -2, 1: -1, 0: 0}
  • {0: 0, 1: 1, 2: 4, 3: 9}

QCM 4

On considère la fonction suivante :

1
2
def f(dico):
    dico['caramel'] = 'miam'

Qu'obtient-on après exécution des instructions suivantes ?

>>> a = {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale'}
>>> f(a)
>>> a
  • Une erreur
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale'}
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale', 'caramel': 'miam'}
  • {'caramel': 'miam'}
Réponse
  • Une erreur
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale'}
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale', 'caramel': 'miam'}
  • {'caramel': 'miam'}

QCM 5

On considère la fonction suivante :

1
2
3
def f(dico):
    dictio = dico
    dictio['caramel'] = 'miam'

Qu'obtient-on après exécution des instructions suivantes ?

>>> a = {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale'}
>>> f(a)
>>> a
  • Une erreur
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale'}
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale', 'caramel': 'miam'}
  • {'caramel': 'miam'}
Réponse
  • Une erreur
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale'}
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale', 'caramel': 'miam'}
  • {'caramel': 'miam'}

QCM 6

On considère la fonction suivante :

1
2
3
def f(dico):
    dictio = {clef: valeur for clef, valeur in dico.items()}
    dictio['caramel'] = 'miam'

Qu'obtient-on après exécution des instructions suivantes ?

>>> a = {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale'}
>>> f(a)
>>> a
  • Une erreur
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale'}
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale', 'caramel': 'miam'}
  • {'caramel': 'miam'}
Réponse
  • Une erreur
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale'}
  • {'épinard': 'Popeye', 'quinoa': 'pseudo-céréale', 'caramel': 'miam'}
  • {'caramel': 'miam'}

QCM 7

On considère la fonction suivante :

1
2
3
4
5
6
7
8
9
def f(n): 
    G = {'A': ['A', 'B'], 'B': ['A']}
    tab = ['A']
    for k in range(n):
        new_tab = []
        for c in tab:
            new_tab = new_tab + G[c]   
        tab = new_tab
    return tab

Quelle est la valeur de f(3) ?

  • ['A', 'B', 'A', 'A', 'B']
  • ['A', 'B', 'A', 'B', 'B']
  • ['A', 'B', 'A', 'A', 'B']
  • ['A', 'A', 'A', 'A', 'A']
Réponse
  • ['A', 'B', 'A', 'A', 'B']
  • ['A', 'B', 'A', 'B', 'B']
  • ['A', 'B', 'A', 'A', 'B']
  • ['A', 'A', 'A', 'A', 'A']

Détaillons :

  • tab = ['A'] (ligne 3)
  • Pour k = 0 :

    • new_tab = [] (ligne 5)
    • new_tab = [] + G['A'] (ligne 6) soit new_tab = ['A', 'B']
    • tab = ['A', 'B'] (ligne 7)
  • Pour k = 1 :

    • new_tab = [] (ligne 5)
    • Pour c = 'A' : new_tab = [] + G['A'] (ligne 6), soit new_tab = ['A', 'B']
    • Pour c = 'B' : new_tab = ['A', 'B'] + G['B'] (ligne 6), soit new_tab = ['A', 'B', 'A']
    • tab = ['A', 'B', 'A'] (ligne 7)
  • Pour k = 2 :

    • new_tab = [] (ligne 5)
    • Pour c = 'A' : new_tab = [] + G['A'] (ligne 6), soit new_tab = ['A', 'B']
    • Pour c = 'B' : new_tab = ['A', 'B'] + G['B'] (ligne 6), soit new_tab = ['A', 'B', 'A']
    • Pour c = 'A' : new_tab = ['A', 'B', 'A'] + G['A'] (ligne 6), soit new_tab = ['A', 'B', 'A', 'A', 'B']
    • tab = ['A', 'B', 'A', 'A', 'B'] (ligne 7)