通过多次迭代生成随机数

时间:2015-02-21 10:40:09

标签: python random iteration

我需要在几次迭代中生成一个随机数,这只能摆动'每次迭代后+/- 20(第一次除外)。让我试着解释一下。

  1. 迭代从范围(1,100)生成随机数
  2. 如果我选择两次迭代:

    1. 迭代生成随机数,其中该值被限制为1.迭代结果的+/- 20。 - 仍然在1-100。
    2. 如果我选择三次迭代:

      1. 迭代生成随机数,其中该值被限制为2.迭代结果的+/- 20。 - 仍然在1-100。
      2. 等等。

        这是我在给定时间能够提出的最好的。

        item1 = range(1, 100)
        
        item2 = range(301, 400)
        item22 = range(301, 349)
        item222 = range(350, 400)
        
        
        search_word = raw_input("\nENTER DAYS: ")
        
        if search_word == "1":
            print(random.choice(item1))
        
        if search_word == "2":
            if (random.choice(item2)) > 350:
                print (random.choice(item22))
            else:
                print (random.choice(item222))
        

1 个答案:

答案 0 :(得分:1)

问题不明确,如果我弄错了,请澄清。 尝试:

N[0] = random(1,100)
for i in range(1, iterations)
    N[i] = random( max(N[i-1]-20,1),  min(N[i-1]+20, 100) )

这会将以下数字约束为+ -20和min = 1,max = 100 它还确保在每次迭代中数字同样可能