Random 在指定范围内随机生成数字,但条件是两个数字不相同
我想生成指定范围内的随机数,但条件是生成的两个数不相同。 我使用以下代码生成随机数Random 在指定范围内随机生成数字,但条件是两个数字不相同,random,Random,我想生成指定范围内的随机数,但条件是生成的两个数不相同。 我使用以下代码生成随机数 A=randi(100,1,39) 这会给我一组介于1到100之间的39个数字。它还生成相同的数字。i、 在下面一组数字44中,e出现两次 A= 第1列至第25列 78 49 44 45 31 51 52 82 80 65 38 82 54 36 94 88 56 63 59 21 31
A=randi(100,1,39)
这会给我一组介于1到100之间的39个数字。它还生成相同的数字。i、 在下面一组数字44中,e出现两次
A=
第1列至第25列
78 49 44 45 31 51 52 82 80 65 38 82 54 36 94 88 56 63 59 21 31 48 24 85 20
第26列至第39列
23 18 23 **44** 32 93 44 19 91 98 **44** 12 26 41
请建议我生成一个随机数,但任何生成的数都不会在生成的数集中重复。
random.sample
为您提供一个随机样本集,其中不包含重复项
>>> from random import sample
>>> sample(range(1, 100), 39)
[7, 80, 81, 6, 79, 83, 62, 54, 89, 55, 34, 63, 31, 95, 38, 48, 46, 37, 26, 1, 2, 60, 86, 98, 13, 75, 85, 67, 10, 70, 72, 47, 20, 61, 76, 74, 15, 25, 30]
“随机数,但任何生成的数都不会在生成的数集中重复”-这不是随机数。有一个机会(一个小的,但仍然)你得到相同的数字39次。试着做些研究。实际上,您似乎想在您想要支持的范围内生成一个数字列表,然后将该列表洗牌,然后从该列表中删除一定数量的数字。您使用的语言是什么?@Byte Commander MatlabCorrect,以防OP使用Python 3。对于Python2,您应该使用
xrange
而不是range
,以获得更好的性能和内存消耗。