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 listeet dans ce casnote_coeffest un tuple, on accède à la note avecnote_coeff[0]et au coefficient avecnote_coeff[1]