Dites si vous aviez une valeur numérique 8
en python et que vous vouliez générer une liste de nombres consécutifs jusqu’à 8
comme
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Comment avez-vous pu faire cela?
En Python 3, vous pouvez utiliser la fonction intégrée range
comme ceci
>>> list(range(9))
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Note 1: La fonction range
de de Python 3.x renvoie un objet range
. Si vous voulez une liste, vous devez la convertir explicitement en liste, avec la fonction list
comme je l’ai montré dans la réponse.
Note 2: Nous passons le numéro 9 à la fonction range
car, la fonction range
générera des nombres jusqu'au nombre donné, mais n'incluant pas le nombre. Donc, nous donnons le nombre réel + 1.
Note 3: Il existe une petite différence dans les fonctionnalités de range
en Python 2 et 3. Vous pouvez en savoir plus à ce sujet dans cette réponse .
Utilisation de la fonction de plage intégrée de Python:
Python 2
input = 8
output = range(input + 1)
print output
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Python 3
input = 8
output = list(range(input + 1))
print(output)
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Juste pour vous donner un autre exemple, bien que range (value) soit de loin le meilleur moyen de le faire, cela pourrait vous aider ultérieurement.
list = []
calc = 0
while int(calc) < 9:
list.append(calc)
calc = int(calc) + 1
print list
[0, 1, 2, 3, 4, 5, 6, 7, 8]
Selon le résultat souhaité, vous pouvez également imprimer chaque nombre dans une boucle for:
def numbers():
for i in range(int(input('How far do you wanna go? '))+1):
print(i)
Donc, si l'entrée utilisateur était 7, par exemple:
How far do you wanna go? 7
0
1
2
3
4
5
6
7
Vous pouvez également supprimer le '+1' dans la boucle for et le placer sur l'instruction print, ce qui le changera en commençant à 1 au lieu de 0.
Remarque: - En python-3x, vous devez certainement utiliser Fonction de plage Il fonctionne pour générer des nombres à la demande, méthode standard d'utilisation Fonction de plage pour créer une liste de nombres consécutifs
x=list(range(10))
#"list"_will_make_all_numbers_generated_by_range_in_a_list
#number_in_range_(10)_is_an_option_you_can_change_as_you_want
print (x)
#Output_is_ [0,1,2,3,4,5,6,7,8,9]
Aussi, si vous voulez créer une fonction pour générer une liste de nombres consécutifs à l’aide de Fonction de plage regardez ce code!
def consecutive_numbers(n) :
list=[i for i in range(n)]
return (list)
print(consecutive_numbers(10))
Bonne chance!