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

tkb*_*kbx 36 python random

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

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

我环顾四周,找不到任何解释这个问题的地方.

Ano*_*sse 102

在eg之间创建一个随机整数1-11并乘以它5.简单的数学.

import random
for x in range(20):
  print random.randint(1,11)*5,
print
Run Code Online (Sandbox Code Playgroud)

产生例如

5 40 50 55 5 15 40 45 15 20 25 40 15 50 25 40 20 15 50 10
Run Code Online (Sandbox Code Playgroud)


mtr*_*trw 54

>>> import random
>>> random.randrange(5,60,5)
Run Code Online (Sandbox Code Playgroud)

应该适用于任何Python> = 2.

  • 虽然我觉得这是更好的答案,但我想指出的是,这个答案排除了退回60,这可能违反直觉.我建议使用`random.randrage(5,55 + 1,5)`作为一种更清晰的方法. (7认同)

Fel*_*her 10

如果您不想自己完成所有操作,可以使用random.randrange函数.

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


Ofi*_*chy 6

最简单的方法是生成 0-1 之间的随机数,然后通过乘法和移位来拉伸它。
所以 yo 会乘以 (xy),这样结果就在 0 到 xy 的范围内,
然后加上 x,就得到 x 和 y 之间的随机数。

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