Aller au contenu

Index des sujets 2022

Corrigé sujet 39 - Année : 2022

Sujet 39 - 2022

Exercice 1

1
2
3
4
5
def moyenne(tab):
    somme = 0
    for valeur in tab:
        somme = somme + valeur
    return somme/len(tab)

Commentaires

Exercice classique de parcours d'une liste, un parcours par élément suffit les indices n'étant pas utilisés. Le sujet ne précise pas le comportement à adopter si la liste est vide.

Exercice 2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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
  1. On suit l'algorithme de l'énoncé en dupliquant chaque élément de la liste de départ k fois grâce à la boucle for i in range(k)
  2. On zoom chaque ligne en utilisant la fonction précédente

Attention

Les commentaires sur le code python fourni et ceux écrits dans le sujet au format pdf ne correspondent pas (fautes dans frappe dans le code au format .py)