Python 如何在运行M次的循环中随机执行N次任务?
要求:我需要在一个500回合的游戏中执行一个任务T,N次Python 如何在运行M次的循环中随机执行N次任务?,python,reinforcement-learning,Python,Reinforcement Learning,要求:我需要在一个500回合的游戏中执行一个任务T,N次 我有一个循环,可以运行特定的游戏相关任务500次。在此范围内,我想随机执行任务T,N次。还有,有什么问题吗?只需在循环中实现随机化: #非常简单的示例 从随机导入randint 对于范围(500)内的x: 对于范围内的y(randint(0500)): 对于范围内的z(randint(0,y)): #做点什么 在500人的循环中。别忘了做随机导入 for i in range (random.randrange(500)): yo
我有一个循环,可以运行特定的游戏相关任务500次。在此范围内,我想随机执行任务T,N次。还有,有什么问题吗?只需在循环中实现随机化:
#非常简单的示例
从随机导入randint
对于范围(500)内的x:
对于范围内的y(randint(0500)):
对于范围内的z(randint(0,y)):
#做点什么
在500人的循环中。别忘了做随机导入
for i in range (random.randrange(500)):
your T task
当然,我假设你希望你的T的N次执行正确地分布在你的500轮中,并且每次执行都是不同的 如果你对N的近似值满意,那么就地解决方案是每轮运行任务的概率为N/500
import random
roundNb = 500
N = 10
for i in range(roundNb):
if random.random() < N / roundNb:
T()
所以您希望执行任务
N
次,并且N
执行应该随机分布在500次迭代中?是的,@qcampos提供了我想要的。
import random
roundNb = 500
N = 10
# random.sample takes N elements of range(roundNb), so N valid roundNumbers
# Convert it to a set so `i in doTaskOn` runs in constant time
doTaskOn = set(random.sample(range(roundNb), N))
for i in range(roundNb):
if i in doTaskOn:
T()