【发布时间】:2019-11-06 12:53:56
【问题描述】:
我想生成 5 分钟的随机数。在那之后,我想知道最常见的数字。
我的问题是:
我不确定我需要多少时间。我可以在 1 分或 1 分 19 秒时手动终止脚本并获得结果吗?
我的代码如下:
import random
from collections import Counter
t_end = time.time() + 60*5
numbers = []
while time.time() < t_end:
number=''.join(map(str, [random.randint(0,9)for value in range(0,4)]))
numbers.append(number)
print(Counter(numbers))
【问题讨论】:
-
为什么要使用时间段而不是迭代范围?
-
你是想证明
randint的分布是均匀的吗? -
测试分布的方法相当复杂。
numbers增长约 150k 项/秒。这接近 50mio 项目 5 分钟。尝试用普通字典数数?奇怪的随机表达是故意的吗?仅使用randint(0,9999)速度快 4 倍...
标签: python random time while-loop