在在Django视图我使用random.random()。多久我必须叫random.seed()? 有一次为每个请求? 一周时间,每个季节? 一周时间,而网络服务器运行?

有帮助吗?

解决方案

呼叫random.seed()很少,如果在所有

要是随机的,则必须允许随机数发生器,以不接触种子运行。数字的顺序是什么是随机的。如果你改变了种子,你开始一个新的序列。种子值可能不是很随机的,导致的问题。

根据您需要多少个号码,你可以考虑从/dev/random定期重置种子。

您应该尝试重置你已经使用了以前的种子之前的种子。你没有得到随机的完整的32位,所以你可能要产生2 ** 28号后的种子复位。

其他提示

不要设置种子。

要设置种子的唯一情况是,如果你想确保相同的事件不断发生。例如,如果你不想让玩家在游戏中可以保存种子,然后把它当他们加载其游戏作弊。那么无论他们有多少次救+重装,但它仍然给出了同样的结果。

这真的取决于你所需要的随机数。使用一些试验,以找出是否这有什么差别。你也应该考虑,实际上是那里的伪随机数的模式。是否有所作为给你,如果有人能猜到可能下一个随机数?如果不是,在会话开始时一旦种子它或当服务器第一次启动时。

在会议上很可能最有意义,IMO开始播种一次。通过这种方式,用户将得到一组伪随机数的整个会话。如果种子每一个网页放送时,他们不能保证这一点。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top