这与随机抽样有关。我正在使用 random.sample(number,5) 从数字中包含的数字范围内返回随机数列表。我使用 while i < 100 返回一百组五个数字。要检查重复项,我正在使用:
if len(numbers) != len(set(numbers)):
识别具有重复项的集合,然后使用 random.sample(number,5) 尝试进行另一次随机化以将集合替换为重复项。我似乎得到了大约 8% 的重新随机分配(使用打印语句来说明哪个数字被重复),但似乎遗漏了大约 5%。我做错了什么?实际代码如下:
while i < 100:
set1 = random.sample(numbers1,5)
if len(set1) != len(set(set1))
print('duplicate(s) found, random selection repeated')
set1 = random.sample(numbers1,5)
在另一个例程中,我尝试执行与上述相同的操作,但通过添加相同的集合来搜索两组中的重复项,并将 set2 替换为 set1。这给出了相同类型的故障。set2 例程缩进并放置在上述例程的正下方。而 i < 100: 对于 set2 不重复。我希望我已经清楚地解释了我的问题!