两个随机不等式作为python中if-then循环的条件

时间:2013-11-13 20:10:36

标签: python

我处在一个难题中。我试图弄清楚为什么递增计数器不是增量。它返回的值只有一个。这个想法是一个随机时间,递增计数器t_years将降至零并再次开始,而另一个计数器将继续运行。

import time, math, random

t0 = time.time()
average_life_span = .10

while True:
    time.sleep(.01)
    a = time.time()
    age = int (a*1000) - int(t0*1000) #millis

    t_years = 0
    while (int (age) < int (random.normalvariate (average_life_span, 1))):
            t_years = 0
    else:
            t_years = t_years + .01

    print age, t_years

1 个答案:

答案 0 :(得分:1)

你在内循环之前设置t_years = 0,然后每次循环再次设置。{/ p>

当您最终完成内部循环时,在else子句中添加.01。所以现在它保证是0.01

下一次通过外循环,再次将其重置为0,然后反复重复,最后将.01添加到最后。所以它再次保证为0.01

如果您希望数字从0开始,每次通过外部循环增加0.01,请不要将其重置为0。这样做:

t_years = 0

while True:
    time.sleep(.01)
    a = time.time()
    age = int (a*1000) - int(t0*1000) #millis

    while (int (age) < int (random.normalvariate (average_life_span, 1))):
        pass
    else:
        t_years = t_years + .01

    print age, t_years

我不确定这个循环实际应该做什么。我不认为它会被触发,但即使它被触发,它所能做的就是在这样做时尽可能多地延迟烧掉尽可能多的CPU。你为什么要那样做?