Python知識分析サイコロゲーム

零到壹度
リリース: 2018-04-14 14:24:26
オリジナル
4504 人が閲覧しました

この記事で共有された内容は、Python の知識分析とサイコロ投げゲームに関するもので、必要な友人は参考にすることができます。最近統計とPythonの知識を勉強してサイコロゲームの分析をしてみました。サイコロは標準の6面を基本とし、1、2、3、4個ずつサイコロを投げ、10回、100回、1,000回、10,000回投げた結果を分析します。

ツールを使用する
Jupyter Notebook 分析ツール
Matplotlib、pygal 視覚化パッケージ

1. 推測の数

1-6中每个数字出现的次数
ログイン後にコピー
# 导入包
import pygal
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
from random import randint
ログイン後にコピー
rreee
# 利用随机数据模拟掷骰子
# 每次显示1-6中的一个数

num_sides = 6  # 骰子的6个面
def getData(N, times):
    """
    定义函数,获取投掷数据
    N: 表示一次用几个骰子投
    times:表示总共投几次
    """  
    results = []    
    for n in range(1,N+1):    
        for roll_num in range(times):
            result = randint(1,num_sides)
            results.append(result)    
        return results
ログイン後にコピー
rree
# 打印投掷结果
print(getData(1,10)) # 1个骰子掷10次
print(getData(2,5))  # 2个骰子掷5次
ログイン後にコピー

Python知識分析サイコロゲーム

[2, 2, 2, 2, 1, 6, 4, 4, 5, 5]
[4, 3, 5, 6, 2, 2, 3, 6, 4, 4]
ログイン後にコピー

Python知識分析サイコロゲーム

3 つのサイコロと 4 つのサイコロのスクリーンショットはもうありません。

投げる回数が増えるほど、各数字が現れる確率は近づき、最終的には同じになる傾向があることがわかりました。

2. 大きさを推測する

1 つのサイコロの大きさを推測するのはあまり意味がありません。 2 つのサイコロの状況を直接分析してみましょう。

# 分析结果# 统计每个数字出现的次数并显示图片
    # N: 表示一次用几个骰子投
    # data 表示投掷数据def showResult(N, times):
    frequencies = []    for value in range(1, num_sides+1):
        frequency = getData(N, times).count(value)
        frequencies.append(frequency)    # 数据可视化
    # 本次利用 pygal 生成SVG格式矢量图
    hist = pygal.Bar()
    hist.title = str(N)+"个骰子掷"+ str(times) +"次的结果"
    hist.x_labels = ['1','2','3','4','5','6']
    hist.x_title = "点数"
    hist.y_title = "出现次数"

    hist.add(str(N)+'骰子', frequencies)
    hist.render_to_file('1-'+str(N)+str(times)+'.svg') # 储存为矢量图
ログイン後にコピー

Python知識分析サイコロゲーム

# 一个骰子掷10,100, 1000, 10000次结果分析showResult(1,10)
showResult(1,100)
showResult(1,1000)
showResult(1,10000)
ログイン後にコピー

Python知識分析サイコロゲーム

# 2个骰子掷10,100, 1000, 10000次结果分析showResult(2,10)
showResult(2,100)
showResult(2,1000)
showResult(2,10000)
ログイン後にコピー

Python知識分析サイコロゲーム

上の写真から、投げる回数が十分であれば、大きな点と小さな点が出現する確率は基本的に同じであり、点のサイズが示すことがわかります。正規分布の特徴。

関連おすすめ:

サイコロゲーム-C言語実装

サイコロゲーム

C++サイコロゲーム

ミニプログラムの練習: クラップス投げサイコロゲーム

サイコロの質問

以上がPython知識分析サイコロゲームの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート