前提・実現したいこと
「コイン投げ」シミュレーションプログラムを参考にして、コイン投げ回数を「numFlips」が「10,20,30,…,100,200,300,…,10000」のように増えるようなグラフで、シミュレーション結果の表と裏の回数の比を表示せよ。
という問題です。
発生している問題・エラーメッセージ
グラフの書き方を教えてください。
該当のソースコード
python
試したこと
import random
import numpy as np
import matplotlib.pyplot as plt
def flip(numFlips):
heads = 0
for i in range(numFlips):
if random.choice((0, 1)) == 0:
heads += 1
return heads/numFlips
numflips_list = [10]
for a in range(1, 4):
for b in range(2, 11):
numflips_list.append(b*10**a)
print(numflips_list)
for i in range(len(numflips_list)):
print(flip(numflips_list[i]))
x = np.numflips_list
y = np.flip(numflips_list[i])
plt.plot(x, y, "o-")
plt.show()
これだと numflips_listとflip(numflips_list[i]) を出力するところまではいくのですが、グラフはエラーが出てしまい、できませんでした。
エラーコード→
AttributeError Traceback (most recent call last)
<ipython-input-6-bcd8e5dee548> in <module>
19 print(flip(numflips_list[i]))
20
---> 21 x = np.numflips_list
22 y = np.flip(numflips_list[i])
23
~\anaconda3\lib\site-packages\numpy_init_.py in getattr(attr)
218 else:
219 raise AttributeError("module {!r} has no attribute "
--> 220 "{!r}".format(name, attr))
221
222 def dir():
AttributeError: module 'numpy' has no attribute 'numflips_list'
改善すべき点を教えていただけると、助かります。
※自分がpython初心者であるゆえ、何が間違っているのかもあまり把握できておらず、丸投げな質問になってしまい、申し訳ありません。