【发布时间】:2019-10-01 02:06:19
【问题描述】:
我想从范围 [a,b] 中生成一个可被 N 整除的随机数(在我的情况下为 4)。 我有解决方案,但有更好(更优雅)的方法吗?
result = random.randint(a, b)
result = math.ceil(result / 4) * 4
这里的解决方案: Python: Generate random number between x and y which is a multiple of 5 没有回答我的问题,因为我必须实现类似的东西:
random.randint(a, b) * 4;
我必须将原始范围除以 4,它的可读性不如我原来的解决方案
【问题讨论】:
-
您的解决方案是错误的。例如如果 a=1, b=15,您的解决方案可能会给出 16,这是错误的
-
“除以 N 的数字”不是合法的英语,而“除以 N 的数字”是另一回事。我认为您的意思是“可被N整除的数字”
-
@DYZ 请查看我对您提到的重复解决方案的评论
标签: python python-3.x