Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:生成x和y之间的随机数,它是5的倍数_Python_Random - Fatal编程技术网

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

Python:生成x和y之间的随机数,它是5的倍数,python,random,Python,Random,我已经阅读了Python中的伪随机性手册,据我所知,您只能生成最大给定值的数字,即0-1、0-30、0-1000等。我想: a) 生成两个整数之间的数字,即5-55,和 b) 仅包括5的倍数(或以5或0结尾的倍数,如果更容易的话) 我环顾四周,找不到任何地方可以解释这一点。创建一个介于1-11之间的随机整数,然后将其乘以5。简单的数学 import random for x in range(20): print random.randint(1,11)*5, print 生产 5 4

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

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

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

创建一个介于
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

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

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

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

应该可以在任何Python>=2中工作。

如果您不想自己完成所有工作,可以使用该函数


例如
importrandom;随机打印。随机范围(10,25,5)
打印一个介于10和25之间(包括10,不包括25)且是5的倍数的数字。所以它会打印10、15或20。

正如anonymouse所指出的,使用范围内随机化要干净得多。你读过吗?向下浏览标题为“整数函数”的部分。float:虽然我觉得这是一个更好的答案,但我想指出,这个答案排除了返回60,这可能是违反直觉的。我建议使用
random.randrage(5,55+1,5)
作为更清晰的方法。