以下のrandcheck.pyというプログラムを修正して0〜0.001,0.01〜0.02......,0.99〜1.0の範囲にある確率を求めるプログラムを作成したいです。(do/forループを用いて)
以下が0〜1の一様変数の発生確率を求めるプログラムrandcheck.pyです
import random as r #randomモジュールを使用
import numpy as np #numpyモジュールを使用
ic=np.zeros(2) #カウンタ ic[0],ic[1] を生成し 0 で初期化
for i in range(10000):
x=r.random() # この関数が呼ばれると 0~1 の一様乱数を 1 つ発生する.
print( x )
if( x<0.5 ):
ic[0]=ic[0]+1
else:
ic[1]=ic[1]+1
print(’0.5 未満の確率’,ic[0]/n, ’0.5 以上の確率’,ic[1]/n )
で、しつもんはなんでしょうか
上記のrandcheck.pyというプログラムを修正して、0〜0.001,0.01〜0.02......,0.99〜1.0の範囲にある確率を求めるプログラムを作成したいです。
わかりにくい書き方をしてしまい、大変申し訳ありませんでした。
一応考えたところ、このようになったのですが、合っていますでしょうか?
import random as r
import numpy as np
ic=np.zeros(1000)
for i in range(100000):
x=r.random()
ic[int(x * 1000)] += 1
print(f'最も多く出現したのは、{max(ic)}回')
print(f'最も少なく出現したのは、{min(ic)}回')
質問文は追記・更新できますので、こちらに書かずに質問文側に書いた方がいいと思います。あと、Pythonの場合、ソースコードはインデントがとにかく大事ですので、ちゃんと分かるように記載した方がいいです。
参考)
https://teratail.com/help/question-tips
全部読んでほしいですが「ソースコードを書きましょう」の項はしっかり読まれて対応されるといいかと思います。
AbeTakaski様
ご指摘ありがとうございます。私がterateilのマナーを守らなかったこと深く反省しております。
ご指摘の通り、質問文を修正いたします。お手数をおかけして申し訳ありませんでした
「一様変数」とは?文脈からすると「一様乱数」ですかね?変換ミスではないし。。。
あなたの回答
tips
プレビュー