見出し画像

Python でサイコロを振る

 この回では、まず2つのライブラリを import します。そのファイルを開いている間は、1回 import すれば十分です。

import random                           # 乱数
import matplotlib.pyplot as plt         # グラフ描画

Python の変数リスト型

 ここではまず初めに「リスト型」の変数について学びます。下のようにカギ括弧 [ ] で囲んで表します。
  ・ lst = [1, "2", 3.14, "Happy", 50]
  (※ 5つの要素は左から lst[0] , lst[1] , lst[2] , lst[3] , lst[4] で呼び出せる)
 リストの要素には「整数、実数、文字列」など任意の変数・定数を入れることが出来ます。
 ここではサイコロで出た目の数を集計(count)するためにリストを使います。
  ・ c = [0, 0, 0, 0, 0, 0]
 この6個の数字、前から順に「1 の目が出た回数」、「2 の目が出た回数」 … 「6 の目が出た回数」を表しますが、ここでちょっと要注意です。
 前にも言いましたが、「Python では自然数は0から始まる!?」からです。 この6個の数字、前から順に c[0] , c[1] , c[2] , c[3] , c[4] , c[5] で表します。サイコロの目と数字が1つずつズレるワケです。

サイコロでばらつき具合を体感する

 ではさっそくサイコロを100回、1000回、10000回投げて、出た目の数をカウントしましょう。
 そうすれば分かるはずです。「100回くらい投げても、投げるたびにグラフがガタガタと大きく動く」ことに。でも「1,000回くらい投げると、動きがだいぶ小さく」なり、「10,000回も投げると、グラフがほとんど動かなくなる」ことに。その感覚、大事です。

サイコロで正規分布を描け

 次に「2つのサイコロを投げたときの目の和」を集計してグラフ化しましょう。さらに「3つのサイコロを投げたときの目の和」を集計してグラフ化しましょう。
 そうするうちにだんだんと左右対称な山形の波形が見えてきます。それが正規分布です。

 今回も、解説&練習のためのファイル(notebook)を用意しましたので、はじめにそれをダウンロードしてください。
 そして、こちら(→ https://colab.research.google.com/ )から Google Colab のサイトを開いて、ダウンロードした notebook を Google Colab 上にアップロードして、始めてください。

◇      ◇      ◇

  〜 Colab 上でAIと一緒にコードを書く
   ▷ AIと一緒にコードを書く
   ▷ ライブラリを import する
   ▷ Python でグラフを描く(関数定義)
   ▷ Python でサイコロを振る(リスト)
   ▷ 再びAIと一緒にコードを書く

いいなと思ったら応援しよう!