我试图找到1-100000之间的随机数,与7 15, 循环划分应该运行,直到它找到合适的数量, 我要找到匹配努力做到:如何使用“而”
from random import randint
while True:
for x in range (1,100000):
if x % 7 == 0 and x % 13 ==0 and x % 15 == 0:
print x
我试图找到1-100000之间的随机数,与7 15, 循环划分应该运行,直到它找到合适的数量, 我要找到匹配努力做到:如何使用“而”
from random import randint
while True:
for x in range (1,100000):
if x % 7 == 0 and x % 13 ==0 and x % 15 == 0:
print x
你可以做到这一点与列表理解:
l=[x for x in range(1,100000) if x % 7 == 0 and x % 13 == 0 and x % 15 == 0]
然后,选择从列表中选择一个随机值,顶线更改为import random
,你可以这样做:
random.choice(l)
我们知道,7,13和15是共素数,那么我们应该从7 * 13 * 15 = 1365开始。然后您可以应用@numbermaniac解。
import random
random.choice([i for i in xrange(1365,1000000) if i%1365 == 0])
另一种解决方案可能是,
# select random number between your upper_limit/1365
# then multiplying it 1365
random.randint(1, 732)*1365
尼斯优化!小挑逗:原始问题最多使用100,000,而你的使用1,000,000。 – numbermaniac
我已经失去了零 - )) – marmeladze
不用担心,哈哈。随着你的新编辑,我认为733应该是732,因为'randint'是包含的,并且如果它返回733,那1365将是1,000,545,这高于最大值100万:) – numbermaniac
感谢!我还有很多东西需要学习 – Meirshalom