如何生成一个以后不会再次生成的随机数?

时间:2019-07-02 13:35:54

标签: python random

我想创建一个程序,该程序将生成1到30之间的随机数,直到所有数字都生成一次为止。本质上,我想生成随机数,以后再也不会生成。

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

这是我到目前为止的内容,但是,当然,已经生成的数字将再次生成。

2 个答案:

答案 0 :(得分:0)

这将从给定列表(第一个参数)生成29个数字(第二个参数)的列表。请注意,如果第二个参数大于第一个参数的大小,则会出错。

import random
randoms = random.sample(range(1, 30), 29)
print(randoms)

答案 1 :(得分:0)

或者如果您想重复输入数字:

l = []
while len(set(l)) < 30:
    l.append(random.randint(1, 30))
print('\n'.join(map(str, l)))