Python 我需要生成随机数,但每个数必须不同于其他数

Python 我需要生成随机数,但每个数必须不同于其他数,python,random,numbers,unique,Python,Random,Numbers,Unique,我在另一个文件中得到了一个函数,回想一下我使用的函数: app.put_number(row, column, number) 这基本上是生成一个矩阵,但在第一列中,对于每一行,我需要一个从1到20的随机数,每个数必须是唯一的,我尝试使用random.randrange。 例如: app.put_number(0, 0, random.randrange(1,21)) app.put_number(1, 0, random.randrange(1,21)) 但有时它会产生相同的数字,我需要它

我在另一个文件中得到了一个函数,回想一下我使用的函数:

app.put_number(row, column, number)
这基本上是生成一个矩阵,但在第一列中,对于每一行,我需要一个从1到20的随机数,每个数必须是唯一的,我尝试使用random.randrange。 例如:

app.put_number(0, 0, random.randrange(1,21))
app.put_number(1, 0, random.randrange(1,21))
但有时它会产生相同的数字,我需要它们中的每一个都是不同的


另外,我不能用实际函数来处理文件,我只能使用if、else、while、for和app。put_numberrow、column、number

如果您用您希望完成此任务的特定语言标记您的问题,这将很有帮助


然而,在概念上;每次生成新编号时,都需要检查填充的数组,以确保未在数组中插入已填充的编号。如果你想变得有趣,你甚至可以拥有一个数字数组,并随机选择你要将数字放入其中的数组的索引,有效地将它们混合在一起。

尝试使用Random.sample。它返回一个范围内的唯一数字 根据下面的文档,要从整数范围中选择样本,请使用范围对象作为参数。这对于从大量人群中进行采样尤其快速且节省空间:samplerange10000000,k=60


一种解决方案是将生成的号码保存在一个列表中,然后调用随机数生成器,直到它给出一个在已生成号码列表中不存在的号码。

这里每周询问一次。搜索一下!