coeur = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], \
[0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0], \
[0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0], \
[0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0], \
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], \
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0], \
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0], \
[0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0], \
[0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0], \
[0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0], \
[0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], \
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
def affiche(dessin):
''' affichage d'une grille : les 1 sont repreente par
des "*" , les 0 par deux espaces " " '''
for ligne in dessin:
for col in ligne:
if col == 1:
print(" *",end="")
else:
print(" ",end="")
print()
def zoomListe(liste_depart,k):
'''renvoie une liste contenant k fois chaque
element de liste_depart'''
liste_zoom = [] #(1)
for elt in liste_depart :
for i in range(k):
liste_zoom.append(elt)
return liste_zoom
def zoomDessin(grille,k):
'''renvoie une grille ou les lignes sont zoomees k fois
ET repetees k fois'''
grille_zoom=[]
for elt in grille:
liste_zoom = zoomListe(elt,k) #(2)
for i in range(k):
grille_zoom.append(liste_zoom)
return grille_zoom
Commentaires
Bien comprendre la structure de données utilisée, c'est une liste de tuples. Chaque tuple est un couple
(note, coefficient)
. On peut donc parcourir cette structure avec une boucle du typefor note, coefficient in liste
(comme dans cette correction) ou alorsfor note_coeff in liste
et dans ce casnote_coeff
est un tuple, on accède à la note avecnote_coeff[0]
et au coefficient avecnote_coeff[1]