乱数の記録と停止ループ

私は生成する乱数の合計を追跡し、数字が特定の値になったときにプログラムを停止させるプログラムを取得する方法を調べるのに問題があります。

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(テーブルから選択された最小数)の合計数が特定の値に加算されたらループを終了したい

3
おそらく、ランダム 回はインポートしたくないでしょう。
追加された 著者 Johnsyweb,
「数字が特定の値になる」 "私の乱数を数える"? 2つの終了条件の1つを選択し、それに焦点を当ててください。両方を行う必要があるかもしれませんが、その場合は明確にしてください。
追加された 著者 S.Lott,
@kbob:(1)の質問を適切にフォーマットし、(2)実際の要件を実際に述べてください更新してください。あなたの質問にコメントを追加しないでください。あなたの質問を更新してください。
追加された 著者 S.Lott,
"乱数の合計"? "mnの総数(最小値は表から選択)"?問題の記述に軽微な不一致がある場合は、答えるのが難しいです。 実際の問題に集中して、一貫してそれを述べてください。
追加された 著者 S.Lott,
@kbob: mn は、これらの乱数の合計ではない(別名合計)のようです。
追加された 著者 Rik Poggi,
@ S.Lott:45分の苦労の後、最初の回答を受け入れたばかりなので、OP自身が望んでいたことは分かっていなかったようです。
追加された 著者 Rik Poggi,
ありがとう、私は乱数のセットの最低値を選択しています。私はこれらの乱数mn = 10000の合計を一度停止するために私のループが必要です。しかし、私はまだそれぞれのループを新しく生成するためにmnする必要があります
追加された 著者 kbob,

2 答え

私のクリスタルボールはあなたに欲しいと私に伝えます:

total = 0.0
while total < 10000.0:
    ... # your code
    total += mn
1
追加された
@kbob:それは最初の答えだった、今まで何をしていたのですか? (あなたの問題を解決した場合はそれを受け入れるべきです!)
追加された 著者 Rik Poggi,

私が集めたことから、あなたはこのようなものを試してみるとよいでしょう:

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を使用しているのかどうかわかりませんので、構文が異なる場合があります。また、あなたがあなたの問題をより明確に説明できるなら、あなたはおそらくより良い答えを得るでしょう。

0
追加された