Listes¶

In [1]:
L = [10,47,8,20,30]

L est une liste d'entiers. On peut obtenir sa longueur (length) ainsi :

In [2]:
print(len(L))
5

Les éléments de la liste sont numérotés de 0 à len(L)-1 :

In [3]:
print(L[0])
10
In [4]:
print(L[1])
47
In [5]:
print(L[4])
30

Exercice 1¶

Compléter le programme ci-dessous pour qu'il affiche tous les éléments de la liste L1, un par un :

In [ ]:
L1 = [5,4,8,9,3,60,4,8,10,11,47,89,23,12]
k = 0

while k < ... :
    print(L1[k])
    k = k+1

Exercice 2¶

On peut modifier un des éléments. Par exemple, on peut remplacer ci-dessous 40 par 0 :

In [6]:
L2 = [1,5,1,40,80]
L2[3] = 0
print(L2)
[1, 5, 1, 0, 80]

Compléter ci-dessous le programme qui multiplie tous les éléments de L2 par 10 et affiche la liste finale :

In [ ]:
for i in range(len(L2)):
    ...
print(L2)

Exercice 3¶

On peut ajouter des élements à la fin d'une liste :

In [7]:
L = [15,16,4]
L = L + [50]
print(L)
[15, 16, 4, 50]

Autre méthode :

In [8]:
L.append(123)
print(L)
[15, 16, 4, 50, 123]

Compléter le programme ci-dessous pour obtenir une liste P contenant les entiers de 1 à 100 :

In [ ]:
P = []      #commentaire :  [] est une liste vide 
i = ...

while i < ...:
    P = P + [...]
    ...

print(P)

Exercice 4¶

Compléter la fonction ci-dessous qui renvoie la liste des N premiers termes de la suite géométrique $(u_n)$ de premier terme $u_0 = 5$ et de raison $0,1$.

In [ ]:
def suite(N):
    u = []
    for k in range(...):
        u = u + [...]
    return u

print(suite(10))    

Exercice 5¶

Compléter le programme ci-dessous qui affiche la liste L des termes inférieurs à 200 de la suite $(u_n)$ définie par $u_0 = 5$ et pour tout entier naturel $n$ par $u_{n+1} = 1,2u_n +7$.

NB : pas les 200 premiers termes , mais tous les termes $u_n < 200$ !

In [ ]:
u = 5
L = []

while ..... :
    L.append(...)
    u = ... 
    
print(L)  

Exercice 6¶

Compléter :

In [ ]:
def ps(u,v):
    p = ...
    for i in range(3):
        p = p + u[i]*v[i]
    return p

a = [1,2,3]
b = [-2,-5,4]

if ps(a,b) == 0:
    print("les vecteurs ...............................")
else:
    print("les vecteurs ...............................")

Exercice 7¶

Compléter la fonction moyenne qui renvoie la moyenne des notes de la liste N, affectés des coefficients respectifs de la liste C

(exemple : la note 16 a pour coefficient 5)

In [ ]:
N = [17,10,16,20,5,11]
C = [2,1,5,2,3,4]

def moyenne(N,C):
    m = 0
    s = 0
    for k in range(...):
        m = m + ...
        s = s + ...
    return ...

print(moyenne(N,C))

Suppléments (?)¶

Plus rapide pour l'exercice 1 (k n'est plus un indice mais prend la valeur des éléments de la liste)

In [9]:
L1 = [5,4,8,9,3,60,4,8,10,11,47,89,23,12]
for k in L1:
    print(k)
5
4
8
9
3
60
4
8
10
11
47
89
23
12

Plus rapide pour l'exercice 3 :¶

In [10]:
P = [i for i in range(1,101)]
print(P)
[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, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100]
In [ ]: