-1

I'd like to create a program which will generate random numbers between 1 and 30 until all numbers have been generated once. Essentially, I want to generate random numbers which will never be generated again afterwards.

import random
test = random.randint(1, 30)

This is what I have so far, but of course, a number already generated will be generated again.

2 Answers2

0

This will generate a list of 29 numbers (second argument) from given list (first argument). Note that you will get error if second argument is bigger than size of first argument.

import random
randoms = random.sample(range(1, 30), 29)
print(randoms)
Toni Sredanović
  • 2,180
  • 1
  • 10
  • 12
0

Or if you want repeated numbers:

l = []
while len(set(l)) < 30:
    l.append(random.randint(1, 30))
print('\n'.join(map(str, l)))
U12-Forward
  • 65,118
  • 12
  • 70
  • 89