跟踪随机数并停止循环

时间:2012-02-06 15:27:10

标签: python loops random

我无法弄清楚如何让我的程序跟踪生成的随机数总数,并在数字加起来时让我的程序停止。

for x in range(0,times):
###but maybe a while loop?

    table=[0 for i in range (21)]
    import random 
    for d1 in range(21):
        if table1[d1]: 
           table[d1] = random.expovariate(gamma_val)
        else:
           table[d1] = random.expovariate(1/gamma_val)

    mn= min(table) ####selects minimum value of table which i use in rest of program##

###program goes on to do some biology thing###

我希望一旦mn的总数(从表中选择的最小数量)加起来一定值就结束循环

2 个答案:

答案 0 :(得分:1)

我的水晶球告诉我你想要:

total = 0.0
while total < 10000.0:
    ... # your code
    total += mn

答案 1 :(得分:0)

从我收集的内容中你可能想尝试这样的事情:

import random 
table = [0.0 for i in xrange(0, 21)]
while sum(table) < 10000.0:
    for i in xrange(0, len(table)):
        if table1[i] > 0:
           table[i] = random.expovariate(gamma_val)
        else:
           table[i] = random.expovariate(1/gamma_val)
mn = min(table)

关键见解:导入一次,明智地使用循环条件。

我不知道您是使用Python 2还是Python 3,因此语法可能会有所不同。此外,如果您能够更清楚地解释您的问题,您可能会得到更好的答案。