1NSI : la fonction range()
⚓︎
Avec UN Paramètre: range(n:int)
⚓︎
La fonction native range(n:int)
renvoie une liste d'entiers :
- entre
0
(inclus) et - et
n
(NON inclus), donc jusqu'àn-1
inclus
# Dans un Interpréteur Python:
>>> range(10)
# L'interpréteur affiche une information peu claire (quand on ne connaît pas)
range(0,10)
# L'utilisation de list() force l'affichage de la liste dans le Terminal
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(15))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
En tout, il y aura donc range(n)
.
Détail du calcul : \((n-1)-0+1=n\)
list()
, mais en pratique, il n'y aura pas besoin d'ajouter le mot-clé list()
pour utiliser range()
dans des algorithmes: En effet, Python est capable de savoir ce que contient la liste générée par range()
, sans avoir nullement besoin de l'afficher dans un Terminal.
d'Utilisation avec la boucle for
for i in range(10):
print(i)
0
1
2
3
4
5
6
7
8
9
Avec DEUX Paramètres: range(n:int, m:int)
⚓︎
La fonction native range(n:int, m:int)
renvoie une liste d'entiers :
- entre
n
(inclus) et - et
m
(NON inclus), donc jusqu'àm-1
inclus
>>> list(range(12, 19))
[12, 13, 14, 15, 16, 17, 18]
>>> list(range(14, 23))
[14, 15, 16, 17, 18, 19, 20, 21, 22]
En tout, il y aura donc range(n, m)
.
Détail du calcul: \((m-1)-n+1=m-n\)
d'Utilisation avec la boucle for
for i in range(12,19):
print(i)
12
13
14
15
16
17
18
Avec TROIS Paramètres: range(n:int, m:int, p:int)
⚓︎
La fonction native range(n:int, m:int, p:int)
renvoie une liste d'entiers :
- entre
n
(inclus) et - et
m
(NON inclus), donc (potentiellement) jusqu'àm-1
inclus - avec un pas ou step de
p
(càd tous lesp
entiers - en sautantp
entiers)
>>> list(range(8, 23, 2))
[8, 10, 12, 14, 16, 18, 20, 22]
>>> list(range(8, 23, 3))
[8, 11, 14, 17, 20]
>>> list(range(14, 25, 4))
[14, 18, 22]
En tout, il y aura donc range(n, m, p)
.
Détail du calcul: \(\lceil \dfrac {(m-1)-n+1}{p} \rceil = \lceil \dfrac {m-n}{p} \rceil\)
Partie Entière supérieure
La notation \(\lceil x \rceil\) désigne la
Exemples: \(\lceil 2,01 \rceil = 3\) et \(\lceil 5,2 \rceil = 6\) et \(\lceil 4 \rceil = 4\)
d'Utilisation avec la boucle for
for i in range(8,23,2):
print(i)
8
10
12
14
16
18
20
22