Aller au contenu

Devoir sur les listes 2020-2021 Sujet A

QCM : Listes

Question B.1

On définit : L = [1,2,3,4,5,6]

Quelle est la valeur de L[3]?

RĂ©ponses

A   [1,2,3]
B   3
C   4
D   [4,5,6]
Question B.2

On définit : T = [[1,2,3], [4,5,6], [7,8,9]]

Laquelle des expressions suivantes a pour valeur 7?

RĂ©ponses

A   T[3,1]
B   T[3][1]
C   T[2,0]
D   T[2][0]
Question B.3

Quelle est la valeur de l'expression [(i,i+1) for i in range(1,3)] ?

RĂ©ponses

A   [0,1,1,2]
B   [(1,2),(2,3)]
C   [(0,1),(1,2)]
D   [[0,1],[1,2]]

Question B.4

Quelle est l'expression qui a pour valeur la liste [0,1,4,9,16,25]?

RĂ©ponses

A   {n**2 for n in range(1,7) }
B   {n**2 for n in range(6) }
C   [n**2 for n in range(1,7) ]
D   [n**2 for n in range(6) ]

Question B.5

Si la variable note est définie par note = ["do","ré","mi","fa","sol","la","si"] alors:

RĂ©ponses

A   l'index de "sol" est 5
B   l'index de note est 0
C   l'index de "si" est 7
D   l'index de "mi"est 2

Question B.6

On définit une grille G remplie de 0, sous la forme d'une liste de listes, où toutes les sous-listes ont le même nombre d'éléments.

G =  [  [0, 0, 0, ..., 0],
    [0, 0, 0, ..., 0],
    [0, 0, 0, ..., 0],
     ...…
    [0, 0, 0, ..., 0] ]

On appelle hauteur de la grille le nombre de sous-listes contenues dans G et largeur de la grille le nombre d'éléments dans chacune de ces sous-listes. Comment peut-on les obtenir ?

RĂ©ponses

A   hauteur = len(G)
    largeur = len(G[0])

B   hauteur = len(G[0])
    largeur = len(G)

C   hauteur = len(G[0])
    largeur = len(G[1])

D   hauteur = len(G[1])
    largeur = len(G[0])

Exercices : Listes

Question 1

La distance entre deux nombres a et b peut être calculée en faisant la différence des deux nombres et en supprimant le signe de la quantité obtenue.

Proposer, en langage Python, une fonction distance(a,b) qui retourne cette distance.

Question 2

On vous donne une liste de N entiers positifs distincts et un entier K.

Écrire une fonction prenant en argument cette liste et cet entier K et retournant le nombre de couples de nombres dont la distance est inférieure ou égale à K qu'il est possible de former à partir de cette liste.

Toute trace de recherche est valorisée.

correction

Question 1

L=[1,4,7]
def distance(a,b):
    if a<b:
        return b-a
    else:
        return a-b
Question 2
def proche(L,k):
    res=0
    for i in range(len(L)):
        for j in range(i+1,len(L)):
            if distance(L[i],L[j])<=k:
                res=res+1
    return res