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

55 投票
4 回答
203974 浏览
提问于 2025-04-17 07:10

我看过关于Python中伪随机数的手册,按照我的理解,你只能生成一个最大值范围内的数字,比如0到1,0到30,0到1000等等。我想要做的是:

  • a) 生成一个在两个整数之间的数字,比如5到55之间的,
  • b) 只包括5的倍数(或者那些以5或0结尾的数字,如果这样更简单的话)。

我查了很多地方,但找不到任何解释这个的内容。

4 个回答

14

如果你不想自己一个人搞定所有事情,可以使用 random.randrange 这个函数。

比如说,运行 import random; print random.randrange(10, 25, 5) 这段代码,会打印出一个在10到25之间的数字(10包括在内,25不包括),而且这个数字必须是5的倍数。所以它可能会打印出10、15或者20。

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

应该在任何版本的Python 2及以上都能正常工作。

126

生成一个在比如说 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

撰写回答