-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,280
  • 1
  • 11
  • 13
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)))
U13-Forward
  • 69,221
  • 14
  • 89
  • 114