Adloun

n° 51

Application directe du cours · niveau 1 (application) · NSI (première), chapitre 4 — Les types construits · P-uplets, déballage et compréhensions

Énoncé

Écrire par compréhension : les cubes des entiers de 1 à 20 ; les multiples de 7 inférieurs à 100 ; les longueurs des mots d'un tableau de chaînes.

Corrigé


cubes = [i**3 for i in range(1, 21)]
# [1, 8, 27, 64, ..., 8000]  -- 20 elements, le dernier est 20**3 = 8000

mult7 = [i for i in range(100) if i % 7 == 0]
# [0, 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98]  -- 15 elements

mots = ["chat", "informatique", "de", "tableau"]
longueurs = [len(mot) for mot in mots]
# [4, 12, 2, 7]

Trois points d'attention, un par ligne.

Une seconde écriture des multiples de , sans filtre :


mult7 = [7 * k for k in range(15)]

Les deux donnent le même tableau — on l'a vérifié. La seconde ne teste rien : elle engendre directement. C'est plus rapide, mais il faut savoir d'avance qu'il y en a , ce qui est un calcul de plus. Quand la borne est connue, engendrer ; quand elle ne l'est pas, filtrer.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.