-
Dans le cas où le collier possède 8 bonbons, Bob les mange dans l'ordre 0 — 3 — 6 — 2 — 7 — 5 — 1. Le bonbon restant est celui d'indice 4.
-
Une erreur de type NameError signifie que l'on utilise un nom (variable ou fonction) qui n'a pas été défini ou initialisé. Ici, Bob a écrit true au lieu de True.
-
def dernier(n):
collier = [True for i in range(n)]
indice = 0
collier[indice] = False
for etape in range(n - 1):
nb_bonbons_vus = 0
while nb_bonbons_vus < 3:
indice += 1
if indice >= n:
indice = 0
if collier[indice]:
nb_bonbons_vus += 1
collier[indice] = False
return indice
-
Une file est une structure de données FIFO.
-
Ces instructions affichent (Tête) 3 4 1 2 (Queue).
-
def dernier_file(n):
f = File()
for i in range(n):
f.enfile(i)
for etape in range(n - 1):
f.defile()
f.enfile(f.defile())
f.enfile(f.defile())
return f.defile()
-
Ces variables sont les attributs des objets de la classe Bonbon.
-
La variable a contient 1 et la variable b contient 2.
-
def creer_collier(n):
premier = Bonbon(0)
actuel = premier
for i in range(1, n):
nouveau = Bonbon(i)
actuel.succ = nouveau
nouveau.pred = actuel
actuel = nouveau
actuel.succ = premier
premier.pred = actuel
return premier
-
Somme toute, ces instructions suppriment le premier chaînon de la liste : 
-
Seule la proposition C s'évalue à True, la syntaxe des autres propositions est erronée.
-
def dernier_chaine(n):
bonbon = creer_collier(n)
while bonbon.valeur != bonbon.succ.valeur: # question 11
bonbon.pred.succ = bonbon.succ # question 10
bonbon.succ.pred = bonbon.pred # question 10
bonbon = bonbon.succ.succ.succ # décalage de 3 bonbons
return bonbon.valeur