我想在(65,90)和(97,122)范围之间得到一个随机数。我可以使用
选择范围内的随机数import random
random.randint(65,95)
但是'margint`只取整数所以我怎么办?任何想法
提前致谢
答案 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)]