Python:在x和y之间生成随机数,它是5的倍数

时间:2011-11-27 16:46:16

标签: python random

我已经阅读了Python中伪随机性的手册,据我所知,你只能生成一个给定最大值的数字,即0-1,0-30,0-1000等。我想要到:

  • a)生成两个整数之间的数字,即5-55和
  • b)仅包括5的倍数(或以5或0结尾的那些,如果这更容易)

我环顾四周,找不到能解释这一点的任何地方。

4 个答案:

答案 0 :(得分:97)

在例如两者之间随机创建一个整数1-11并将其乘以5。简单的数学。

import random
for x in range(20):
  print random.randint(1,11)*5,
print

产生例如。

5 40 50 55 5 15 40 45 15 20 25 40 15 50 25 40 20 15 50 10

答案 1 :(得分:53)

>>> import random
>>> random.randrange(5,60,5)

应适用于任何Python> = 2。

答案 2 :(得分:10)

如果您不想自己动手,可以使用random.randrange功能。

例如import random; print random.randrange(10, 25, 5)打印一个介于10到25之间的数字(包括10个,排除25个),并且是5的倍数。因此它将打印10,15或20。

答案 3 :(得分:4)

最简单的方法是在0-1之间生成一个随机的nuber,然后通过相乘和移位来拉伸它。
所以哟会乘以(x-y),所以结果在0到x-y的范围内,
然后添加x,你得到x和y之间的随机数。

要获得五乘数,请使用四舍五入。如果这不清楚,请告诉我,我将添加代码片段。