生成两个范围之间的随机整数

时间:2017-07-31 11:59:16

标签: python python-2.7 random

我想在(65,90)和(97,122)范围之间得到一个随机数。我可以使用

选择范围内的随机数
import random
random.randint(65,95)

但是'margint`只取整数所以我怎么办?任何想法

提前致谢

3 个答案:

答案 0 :(得分:1)

def random_of_ranges(*ranges):
  all_ranges = sum(ranges, [])
  return random.choice(all_ranges)

print(random_of_ranges(range(65, 90), range(97, 122)))

这是处理此问题的一种非常通用的方法。您可以传递任意数量的范围(或其子集)。但它相当昂贵,特别是对于非常大的集合(如range(1, 100000000))。对于你的用例(可能还有其他几个在附近),这就足够了。

答案 1 :(得分:0)

可替换地:

def random():
  arr1 = np.random.randint(65,90)
  arr2 = np.random.randint(97,122)
  out = np.stack((arr1,arr2))
  out = np.random.choice(out)
  return out

答案 2 :(得分:-1)

制作自己的?

import random

def my_rand():
  numbers = list()
  numbers.append(random.randint(65,95))
  numbers.append(random.randint(97,122))
  return numbers[random.randint(0,1)]