Python: nombres aléatoires dans une liste
créer une' liste ' appelée my_randoms de 10 nombres aléatoires entre 0 et 100.
c'est Ce que j'ai jusqu'à présent:
import random
my_randoms=[]
for i in range (10):
my_randoms.append(random.randrange(1, 101, 1))
print (my_randoms)
malheureusement, la sortie de Python est la suivante:
[34]
[34, 30]
[34, 30, 75]
[34, 30, 75, 27]
[34, 30, 75, 27, 8]
[34, 30, 75, 27, 8, 58]
[34, 30, 75, 27, 8, 58, 10]
[34, 30, 75, 27, 8, 58, 10, 1]
[34, 30, 75, 27, 8, 58, 10, 1, 59]
[34, 30, 75, 27, 8, 58, 10, 1, 59, 25]
Il génère des 10 numéros que je demande, mais il génère un à la fois. Ce que je fais mal?
36
demandé sur
Peter Mortensen
2013-05-20 21:40:10
6 réponses
Vous pouvez utiliser random.sample
pour générer la liste avec un seul appel:
import random
my_randoms = random.sample(xrange(100), 10)
qui génère des nombres dans la gamme (inclusive) de 0 à 99. Si vous voulez de 1 à 100, Vous pouvez utiliser ceci (merci à @martineau pour avoir pointé ma solution alambiquée):
my_randoms = random.sample(xrange(1, 101), 10)
62
répondu
robertklep
2016-11-21 13:25:43
import random
my_randoms = [random.randrange(1, 101, 1) for _ in range(10)]
34
répondu
mattexx
2018-07-15 02:23:06
fixez l'indentation de la print
déclaration
import random
my_randoms=[]
for i in range (10):
my_randoms.append(random.randrange(1,101,1))
print (my_randoms)
14
répondu
karthikr
2018-07-15 02:21:52
ici j'utilise le sample
méthode pour générer 10 nombres aléatoires entre 0 et 100.
Remarque:: j'utilise Python 3 range
fonction (pas xrange
).
import random
print(random.sample(range(0, 100), 10))
la sortie est placée dans un liste:
[11, 72, 64, 65, 16, 94, 29, 79, 76, 27]
3
répondu
Stryker
2018-08-21 19:53:00
import random
a=[]
n=int(input("Enter number of elements:"))
for j in range(n):
a.append(random.randint(1,20))
print('Randomised list is: ',a)
1
répondu
perwaiz alam
2017-08-03 04:40:37