こんにちは私は再設定を行いました、そして私がこのスレッドにたどり着いたとき私は正しい方向に終わったと信じています:
http://code.activestate.com/recipes/117241/
基本的に私の質問は、リンク内のコードが1行ずつ実行されていることです。あなたの説明が私にリンクのコードが満足のいく程度に何をするかを理解させるならば、あなたは私が以下に書いたすべてを潜在的に無視することができます。
そのリンクのコードが乱数を生成すると信じていますが、乱数は確率に直接関係しています。
私自身のコードでは、「数値」とその出現確率を取得し、確率に従って表示される出力「数値」を取得しようとしています。これは紛らわしいことですが、上のリンクを見ると、私が何をしようとしているのかが明確になることを願っています。以下の私のコードは、上記のリンクを参照しています。
したがって、私のプログラムでは、これらは私のグローバル変数です。
HIGH= 3
MED= 2
LOW= 1
これは私が取り組んでいるリストです:
n= [LOW,lowAttackProb).(MED,medAttackProb),(HIGH,highAttackProb)]
#lowAttackProb,med...,etc. are based on user input are just percents converted to decimals that add up to 1 in every case
上記のリンクに従って、ランダムコードを実装した方法は次のとおりです。
x= random.uniform(0,1)
for alevel,probability in n:
if x<probability:
break
x=x-probability
return alevel
forループ内で何が起こっているのか、x=x-probabilityが何をしているのか正確にはわかりません。
x=0.90としましょう
私のリストでは、2番目のリストエントリが発生する可能性は0.60です。したがって、x(未満)の確率はFalseであるため(x(未満)の確率が発生するかどうかはわかりません)、コードは移動します。 n=n-確率に移ります。
これが理にかなっていることを本当に願っています。それがわからない場合は、不明な点をお知らせください。修正を試みます。助けてくれてありがとう。