Python: Generate random number between x and y which is a multiple of 5
本问题已经有最佳答案,请猛点这里访问。
我已经阅读了关于Python中伪随机性的手册,据我所知,您只能生成一个给定最大值的数字,即0-1、0-30、0-1000等。我想:
- a)在两个整数之间生成一个数字,即5-55,和
- b)仅包括5的倍数(或以5或0结尾的倍数,如果这样容易的话)
我环顾四周,找不到任何解释这一点的地方。
创建一个介于
1 2 3 4 | import random for x in range(20): print random.randint(1,11)*5, |
生产例如
1 | 5 40 50 55 5 15 40 45 15 20 25 40 15 50 25 40 20 15 50 10 |
1 2 | >>> import random >>> random.randrange(5,60,5) |
应该可以在任何python中使用>=2。
如果你不想一个人完成这一切,你可以使用random.randrange函数。
例如,
最简单的方法是在0-1之间生成一个随机的nuber,然后通过乘法和移位将其拉伸。所以你会乘以(x-y),结果在0到x-y之间,然后加上x,得到x和y之间的随机数。
要得到5倍的乘数,请使用四舍五入。如果不清楚,请告诉我,我会添加代码片段。