L'énoncé
Soit la liste des notes d'une classe après un contrôle noté sur 30 :
notes = [18, 24, 28, 10, 13, 0, 19, 20, 17, 6, 14, 3, 11, 22, 15].
Question 1
On veut un programme générant la liste notes_sup des notes supérieures ou égales à la moyenne.
Ecrire un programme permettant d'obtenir ce résultat.
notes_sup = [note for note in notes if note >= 15]
notes_sup = []
for note in notes:
if note >= 15:
notes_sup.append(note)
Il suffit de vérifier si la condition note >= 15 est vérifiée.
Question 2
On veut un programme qui génère la liste notes_sup_paire des notes paires supérieures ou égales à la moyenne.
Ecrire un programme permettant d'obtenir ce résultat.
notes_sup_paire = [note for note in notes_sup if note % 2 == 0]
notes_sup_paire = []
for note in notes_sup:
if note % 2 == 0:
On peut utiliser la liste notes_sup que l'on vient de créer.
Question 3
On veut un programme qui génère la liste notes_inter des notes comprises dans l'intervalle ]10, 20].
Ecrire un programme permettant d'obtenir ce résultat.
notes_inter = [note for note in notes if note > 10 and note <= 20]
notes_inter = []
for note in notes:
ou (sans le and) :
notes_inter = []
for note in notes:
En python, l'expression A and B
est vraie si à la fois A
et B
sont vrais. Elle est fausse si un des deux ou les deux sont faux.
Question 4
On veut un programme qui génère la liste notes_spi des notes appartenant aux trois listes créées précédemment.
Ecrire un programme permettant d'obtenir ce résultat.
notes_spi = [note for note in notes_sup_paire if note in note_inter]
notes_spi = []
for note in notes_sup_paire:
if note in note_inter:
notes_spi.append(note)
Les notes des notes_sup_paire appartient aussi à notes_sup.
Question 5
Pour finir, on veut un programme génèrant la liste notes_spid3 qui met sur 20 les notes de notes_spi divisibles par 3.
Ecrire un programme qui permet d'obtenir ce résultat.
Quelle est la valeur obtenue restante ?
notes_spid3 = [note * 2 / 3 for note in notes_spi if note % 3 == 0]
notes_spid3 = []
for note in notes_spi:
if note % 3 == 0:
notes_spid3.append(note * 2 / 3)
Pour mettre une note sur 30 sur 20, on la multiplie par 2 / 3.
Un nombre est divisible par 3, si le reste de la division entière (modulo) est nul.