Bonjour, je bloque sur cette exercice, besoin d'aide s'il vous plaît. Nsi terminale avec ce programme à compléter :

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 représentés 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 élément de liste_depart'''
liste_zoom = ...
for elt in ... :
for i in range(k):
...
return liste_zoom

def zoomDessin(grille,k):
'''renvoie une grille où les lignes sont zoomées k fois ET répétées k fois'''
grille_zoom=[]
for elt in grille:
liste_zoom = ...
for i in range(k):
... .append(...)
return grille_zoom

Et le résultat à obtenir est :


Bonjour Je Bloque Sur Cette Exercice Besoin Daide Sil Vous Plaît Nsi Terminale Avec Ce Programme À Compléter Coeur 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 class=
Bonjour Je Bloque Sur Cette Exercice Besoin Daide Sil Vous Plaît Nsi Terminale Avec Ce Programme À Compléter Coeur 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 class=

Sagot :

Oki alors ^^ déjà je te plains parce que ton sujet est pas très clair. Ce qu’on te demande pour la fonction zoomListe c’est en gros d’arriver à ce résultat (photo 1).
Après zoomDessin intuitivement tu vas append la liste que tu viens de créer k nb de fois dans une nouvelle liste pour chaque ligne.
Donc pour la première fonction:
- tu initialises ta liste sans rien
- pour chaque éléments, que tu veux mettre dans ta nouvelle liste, tu vas les prendre dans ta liste de départ
- tu vas vouloir le mettre k fois dans ta nouvelle liste,
- donc tu l’ajoutes dans ta nouvelle liste (si le i t’embêtes c’est juste un compteur tu n’as pas à l’utiliser)
- enfin tu retournes ta liste

Pour la deuxième fonction:
- tu initialises encore ta liste en vide
- tu prends chaque liste contenu dans ta grille (ici chaque ligne du cœur)
- tu changes la forme de la liste pour qu’elle soit zoom k fois (donc tu utilises la fonction précédente)
- tu l’ajoutes k nb de fois à ta liste nouvellement créée pour faire l’effet zoom

Je sais pas si c’est clair hésite pas à m’envoyer un message si jamais c’est pas clair.
View image CAROKAY87