NSI,2022-2023,Les listes en Python

Exercice 1

  1. On considère les listes ci-dessous définies en extension :
>>> a=[0,2,4,6,8,10]
>>> b=[0,1,4,9,16,25,36]
>>> c=[10,9,8,7,6,5,4,3,2]

Déterminer comment les définir par compréhension.

Que retournent les commandes ci-dessous ?

Exercice 2

>>>[i+j for i in [3,1,2] for j in [2,1]]
>>>[i+j for j in [1,3] for i in [1,0,2] ]
>>>[[i+j for i in range(3)] for j in range(2)]

Exercice 3

Ecrire une fonction permettant de remplir aléatoirement un liste de longueur n par des nombres entiers compris entre 0 et 100.
La fonction utilisera une liste en compréhension et la méthode randint() du module random.

>>> # par exemple
>>> liste_aleatoire(5)
>>> [6,19,54,27,4]

Exercice 4

Ecrire une fonction inverse retournant la liste inversée d’un liste passée en paramètre.

>>> # par exemple
>>> a=[1,7]
>>> inverse_liste(a)
>>> [7,1]

Exercice 5

Ecrire une fonction triee() permettant de déterminer si une liste est triée par ordre croissant

>>> a=[7,3,6]
>>> triee(a)
False
>>> b=[5,8,15]
>>> triee(b)
True

Proposition correction exercices 3 à 5

>>># différentes propositions de réponses pour l'exercice 1
>>> [i for i in range(0,11,2)]
[0, 2, 4, 6, 8, 10]
>>> [i+2 for i in range(-2,9,2)]
[0, 2, 4, 6, 8, 10]
>>> [2*i for i in range(0,6)]
[0, 2, 4, 6, 8, 10]
>>> [i**2 for i in range(7)]
[0, 1, 4, 9, 16, 25, 36]
>>> [10-i for i in range(9)]
[10, 9, 8, 7, 6, 5, 4, 3, 2]
>>> [i for i in range(10,1,-1)]
[10, 9, 8, 7, 6, 5, 4, 3, 2]
# proposition correction Exercice 3
from random import randint

def liste_aleatoire(n):
    # générer aléatoirement un liste de taille n
    # contenant des nbres entiers entre 0 et 100
    return [randint(0,100) for i in range(n)]
# proposition correction Exercice 4 def inverse_liste(a): # inverse les termes de la liste retour=[] for i in range(len(a)): retour.append(a[len(a)-1-i]) return retour
# correction Exercice 5
def triee(a):
    # indique si une liste est triée
    for i in range(len(a)-1):
        if a[i]>a[i+1]:
            return False
    return True