我对Python还不熟悉。尝试生成一个随机数的随机数并将其写入文件。我希望默认的顺序是升序,所以在我的循环中,每次我都会添加上一次迭代中随机选择的“数字”,作为下一个随机数的最小值(希望有意义):
# Create random number of random integers and write to file 1:
number = 0 # used later
records = random.randrange(1,100) # randomly decide how many integers to create (up to 100).
for index in range(1,records):
# randomly create integer between last number created (to ensure correct sort) and 1 million.
number = random.randrange(number,100000)
# write it to file:
f1.write(str(number) + "\n")
print(number)
奇怪的是,我的输出几乎总是随机数,但除了前2或3个数字外,它可能会立即跳到5位数字,然后在4或5次迭代中命中,然后只重复最大值(99999)-下面是一个常见的输出:
50518号 84384 87787 91203 91286 92638 93266 97371 99986 99993 99998 99998 99998 99999 99999 99999 99999 99999 99999 99999 99999 99999 99999 99999 99999 99999 99999 99999 99999个
为什么最大值在随机范围内如此容易被击中
您的问题是,当您将最小值设置为最后生成的数字时,您会减少每次生成的数字量,这会增加生成更高数字的可能性,因为最小值不断提高
与其他人一样,您应该使用random modules
sample
方法,该方法声明:输出
相关问题 更多 >
编程相关推荐