要求:我需要在一个玩了500回合的游戏中完成T次N次任务。
我有一个循环,可以运行与游戏相关的某些任务500次。在此范围内,我想随机执行N次任务T。另外,N <500。
如何做到这一点?
我知道如何在循环内执行T,N次。但是,我想在游戏的500回合中将它随机化并执行N次。
答案 0 :(得分:0)
出什么问题了?只需在循环中实现随机化:
sql_mode=""
答案 1 :(得分:0)
在500个循环中。不要忘记随机导入
for i in range (random.randrange(500)):
your T task
答案 2 :(得分:0)
当然,我假设您希望T的N次执行在您的500回合中正确分配,并且每次执行都不同。
如果您对N表示满意,那么就地解决方案是每轮运行任务的概率为N / 500。
import random
roundNb = 500
N = 10
for i in range(roundNb):
if random.random() < N / roundNb:
T()
如果准确地执行此任务对您很重要,那么最好生成N个不同的随机数<500,并使用它们来确定是否应在本轮执行该任务。
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()