Informatique

Question

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 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
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

1 Réponse

  • 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.
    Image en pièce jointe de la réponse carokay87