Python/Introduction
をテンプレートにして作成
LECTURE
担当科目一覧
コンピュータ概論/2024
データサイエンス/2024
3DCG演習/2024
情報デザイン研究/2024
卒業研究/2024
KEYWORDS
WEB DESIGN
SOCIAL DESIGN
SQUARES
LINKS
九州産業大学
芸術学部
芸術研究科
九産大美術館
九産大図書館
年間スケジュール
動画ニュース他
交通情報
気象・環境情報
危機に備えて
K'sLife
Office365Mail
Tools
SEARCH
開始行:
*Pythonプログラム入門
Sample:MonteCarlo Method
~
プログラミング初心者にとって、一般的な__[[文法解説>Python...
~
***CONTENTS
#contents2_1
~
**サンプルプログラム1
***ファイルの新規作成
-Python IDLE を使っている場合
--PC上の任意の場所で新規フォルダを作成 > PythonSample
--IDLE のメニュー File > New File
--IDLE のメニュー File > Sava(または Save As)
> 作成済みのフォルダに main.py 等の名称で空のファイルを...
-Google Colaboratory を使っている場合
--Google Colaboratory で ''ファイル> ノートブックを新規...
--Untitled0.ipynb というファイル名を変更 > PythonSample....
~
***サンプルコード
2つの数値を順に入力すると、その積(掛け算した値)が出力...
-Python IDLE の場合は、上記で作成したファイル(main.py) ...
-Google Colaboratory の場合は、コードセルにペースト
a = input( "a = " )
b = input( "b = " )
a = int( a )
b = int( b )
c= a*b
print( "a x b = ", c )
~
***実行
-Python IDLE を使っている場合
--メニューの RUN > RUN Module とすると IDLE Shell 上で実...
-Google Colaboratory を使っている場合
--コードセルで実行ボタン「▶︎」をクリックすると、セル直下...
-実行の流れ
--"a =" と入力が促されるので、数値を入力して下さい。
--"B =" と入力が促されるので、数値を入力して下さい。
--"axb = XXX" と、計算結果が出力されます。
~
~
**サンプルプログラム2
モンテカルロ法を使って π の近似値を求めるプログラム
~
***モンテカルロ法とは
計算機を使った数値計算手法の一つで、乱数を用いた試行を繰...
~
***πの値を求める手法の解説
#image(https://upload.wikimedia.org/wikipedia/commons/c/c...
&scale(75){[[Wikimediacommons File:Montecarlo pi2.PNG>htt...
-一辺の長さを r とする正方形の面積を S とし、その正方形の...
Q = π*r*r / 4
S = r*r
よって、Q / S = ( π*r*r / 4 ) / ( r*r ) = π/4
-すなわち、以下の関係式が得られます。
π = Q / S * 4
-正方形の「枠内」に一様な乱数を使って「雨を降らせる」と
正方形全体に降る雨粒の数:4分円の中に降る雨粒の数 ≒ S:Q
となり、雨粒の数が多くなれば、S:Q の比率に一致します。
-これを利用することで
π = 4分円の中に降る雨粒の数 / 正方形全体に降る雨粒の数 ...
というかたちで、π の近似値を求めることができます。
~
***ファイルの新規作成
-Python IDLE を使っている場合
--PC上の任意の場所で新規フォルダを作成 > MonteCarloMethod
--IDLE のメニュー File > New File
--IDLE のメニュー File > Sava(または Save As)
> 作成済みのフォルダに main.py 等の名称で空のファイルを...
-Google Colaboratory を使っている場合
--Google Colaboratory で ''ファイル> ノートブックを新規...
--Untitled0.ipynb というファイル名を変更 > MonteCarloMet...
--テキストセルを追加して、ノートの冒頭にタイトルをつけま...
# モンテカルロ法による円周率の導出
~
***サンプルコード
以下のコードをまるごとコピー&ペーストして下さい。
-Python IDLE の場合は、上記で作成したファイル(main.py) ...
-Google Colaboratory の場合は、コードセルにペースト
# ライブラリの読み込み
import math
import random
# 初期化
n = 1000
cnt_in = 0
cnt_out = 0
# シミュレーション
for i in range(n):
# 0.0 - 1.0 のランダムな「雨粒」
x = random.random()
y = random.random()
# 4分円の中に落ちた数をカウント
r = math.sqrt(x**2 + y**2)
if r <= 1.0:
cnt_in += 1
else:
cnt_out += 1
# 円周率の近似値
Pi = cnt_in / n * 4
# 結果の表示
print("Num:", n)
print("IN:", cnt_in)
print("OUT:", cnt_out)
print("Pi:", Pi)
-n の初期値を大きくしていくと、結果が 3.14 に近づくことを...
~
***実行
-Python IDLE を使っている場合
--メニューの RUN > RUN Module で実行されます。
--結果は、IDLE Shell に表示されます。
--実行の都度、IDLE Shell に結果が追加表示されます。
-Google Colaboratory を使っている場合
--コードセルで実行ボタン「▶︎」をクリックすると実行されま...
--結果は、コードセルの直下に表示されます。
-このプログラムは乱数を使っていて、結果はその都度変わりま...
~
~
**サンプルプログラム2の解説
***import <モジュール名>
既存のライブラリプログラムを利用するための下準備です。Pyt...
import math # 数学関数を利用する場合に読み込みま...
import random # 乱数を利用する場合に読み込みます。
~
***変数と代入
変数の活用と、代入処理はプログラミングの基本です。
n = 1000
-この例で n はデータ(数値や文字)を入れるための「器」と...
-=記号は「等しい」という意味ではなく、右辺の内容を左辺の...
-ちなみに以下の記述は同意で、現在の x に 1 を加えて x を...
x = x +1
x += 1
プログラム中にある cnt_in += 1 というのは、cnt_in という...
~
***制御文
上記のプログラムでは ''if 文''と ''for 文''を利用していま...
~
***if 文
判断結果(true / false)によって処理を分岐します。
if r <= 1.0:
cnt_in += 1
else:
cnt_out += 1
この例では、r が 1.0以下の場合は、cnt_in が1つ増え、そう...
~
***for 文
一定回数処理を繰り返す場合に利用するものです。
for i in range(1000):
# ここに処理内容を記述
この例では i の値が 0 から 999 まで「処理」が1000回繰り返...
~
***while 文
while 文は条件が真の間処理を繰り返します。
while n < 100:
# ここに処理内容を記述
この例では n の値が 100未満の場合に「処理」が繰り返されま...
~
***range関数 について
range 関数は開始値から終了値(未満)までの数値を要素とし...
range(start, stop[, step])
-range(5) > 0 1 2 3 4
-range(0, 5) > 0 1 2 3 4
-range(1,10) > 1 2 3 4 5 6 7 8 9
-range(0, 10, 2) > 0 2 4 6 8
~
***インデントについて
Python ではインデント(字下げ)によってブロックを表現しま...
-if 文や for 文など、同一レベルのインデントを持つ複合文(...
-インデントがきちんととられていないと文法エラーになる・・...
-他の言語では、制御ブロックの終端の明記(「 } 」 など)が...
~
***コメントについて
Python では # 記号以降はコメントとして扱われます。プログ...
-インラインコメント
#から行末までは実行時に無視されます。#より前のコードは有...
a = 1 # comment
-ブロックコメント(行全体)
行頭に#を書くと、行全体コメントとなり、実行時には無視さ...
a = 1
# b = 2
# c = 3
d = 4
~
~
**サンプルプログラム3
#image(spaceinvaders.jpg,right,30%)
GitHub上にある、spaceinvaders をダウンロードして、ローカ...
このプログラムは GUIベースのプログラムとして動くので、Col...
~
***準備
-GitHubから space-invaders をダウンロードします。
--https://github.com/leerob/space-invaders
--緑のボタン "code" から Download Zip をクリック
-任意の場所(デスクトップ等)に置いて解凍します。
space-invaders-master という名称のフォルダができます。
-Python IDLE のメニュー、File > Open で、spaceinvaders.p...
~
***とりあえず、実行
-まずは、Python IDLE のメニュー、Run > Run Module してく...
-IDLE Shell にエラーメッセージが出ると思います。
ModuleNotFoundError: No module named 'pygame'
理由は、プログラムの5行目に記載のある from pygame import...
-このパッケージは、Pythonのインストール時には入らないので...
~
***パッケージのインストール
この作業は、__[[Terminal]]__(Windowsではコンソール)で行...
-MacOSのメニュー、移動>ユーティリティ から ターミナルを...
-以下のようにタイプします。
pip3 install pygame
-ターミナルにメッセージが出力されますが、その中に Success...
-この操作によって、実際には以下の場所にパッケージが置かれ...
/Library/Frameworks/Python.framework/Versions/3.XX/lib/p...
~
***再度実行
-spaceinvaders.py のウインドウをアクティブにした状態で、P...
-インベーダーゲームが動くはずです。
-Window を閉じると、IDLE Shell の画面のプロンプトに戻りま...
閉じない場合は、IDLE Shell のプロンプトで以下のようにタイ...
quit()
-このように、Web上に公開されている様々な Pythonプログラム...
~
~
**APPENDIX
-Python 文法の詳細については、以下のページをご覧下さい。
__[[Python/Syntax]]__
~
~
終了行:
*Pythonプログラム入門
Sample:MonteCarlo Method
~
プログラミング初心者にとって、一般的な__[[文法解説>Python...
~
***CONTENTS
#contents2_1
~
**サンプルプログラム1
***ファイルの新規作成
-Python IDLE を使っている場合
--PC上の任意の場所で新規フォルダを作成 > PythonSample
--IDLE のメニュー File > New File
--IDLE のメニュー File > Sava(または Save As)
> 作成済みのフォルダに main.py 等の名称で空のファイルを...
-Google Colaboratory を使っている場合
--Google Colaboratory で ''ファイル> ノートブックを新規...
--Untitled0.ipynb というファイル名を変更 > PythonSample....
~
***サンプルコード
2つの数値を順に入力すると、その積(掛け算した値)が出力...
-Python IDLE の場合は、上記で作成したファイル(main.py) ...
-Google Colaboratory の場合は、コードセルにペースト
a = input( "a = " )
b = input( "b = " )
a = int( a )
b = int( b )
c= a*b
print( "a x b = ", c )
~
***実行
-Python IDLE を使っている場合
--メニューの RUN > RUN Module とすると IDLE Shell 上で実...
-Google Colaboratory を使っている場合
--コードセルで実行ボタン「▶︎」をクリックすると、セル直下...
-実行の流れ
--"a =" と入力が促されるので、数値を入力して下さい。
--"B =" と入力が促されるので、数値を入力して下さい。
--"axb = XXX" と、計算結果が出力されます。
~
~
**サンプルプログラム2
モンテカルロ法を使って π の近似値を求めるプログラム
~
***モンテカルロ法とは
計算機を使った数値計算手法の一つで、乱数を用いた試行を繰...
~
***πの値を求める手法の解説
#image(https://upload.wikimedia.org/wikipedia/commons/c/c...
&scale(75){[[Wikimediacommons File:Montecarlo pi2.PNG>htt...
-一辺の長さを r とする正方形の面積を S とし、その正方形の...
Q = π*r*r / 4
S = r*r
よって、Q / S = ( π*r*r / 4 ) / ( r*r ) = π/4
-すなわち、以下の関係式が得られます。
π = Q / S * 4
-正方形の「枠内」に一様な乱数を使って「雨を降らせる」と
正方形全体に降る雨粒の数:4分円の中に降る雨粒の数 ≒ S:Q
となり、雨粒の数が多くなれば、S:Q の比率に一致します。
-これを利用することで
π = 4分円の中に降る雨粒の数 / 正方形全体に降る雨粒の数 ...
というかたちで、π の近似値を求めることができます。
~
***ファイルの新規作成
-Python IDLE を使っている場合
--PC上の任意の場所で新規フォルダを作成 > MonteCarloMethod
--IDLE のメニュー File > New File
--IDLE のメニュー File > Sava(または Save As)
> 作成済みのフォルダに main.py 等の名称で空のファイルを...
-Google Colaboratory を使っている場合
--Google Colaboratory で ''ファイル> ノートブックを新規...
--Untitled0.ipynb というファイル名を変更 > MonteCarloMet...
--テキストセルを追加して、ノートの冒頭にタイトルをつけま...
# モンテカルロ法による円周率の導出
~
***サンプルコード
以下のコードをまるごとコピー&ペーストして下さい。
-Python IDLE の場合は、上記で作成したファイル(main.py) ...
-Google Colaboratory の場合は、コードセルにペースト
# ライブラリの読み込み
import math
import random
# 初期化
n = 1000
cnt_in = 0
cnt_out = 0
# シミュレーション
for i in range(n):
# 0.0 - 1.0 のランダムな「雨粒」
x = random.random()
y = random.random()
# 4分円の中に落ちた数をカウント
r = math.sqrt(x**2 + y**2)
if r <= 1.0:
cnt_in += 1
else:
cnt_out += 1
# 円周率の近似値
Pi = cnt_in / n * 4
# 結果の表示
print("Num:", n)
print("IN:", cnt_in)
print("OUT:", cnt_out)
print("Pi:", Pi)
-n の初期値を大きくしていくと、結果が 3.14 に近づくことを...
~
***実行
-Python IDLE を使っている場合
--メニューの RUN > RUN Module で実行されます。
--結果は、IDLE Shell に表示されます。
--実行の都度、IDLE Shell に結果が追加表示されます。
-Google Colaboratory を使っている場合
--コードセルで実行ボタン「▶︎」をクリックすると実行されま...
--結果は、コードセルの直下に表示されます。
-このプログラムは乱数を使っていて、結果はその都度変わりま...
~
~
**サンプルプログラム2の解説
***import <モジュール名>
既存のライブラリプログラムを利用するための下準備です。Pyt...
import math # 数学関数を利用する場合に読み込みま...
import random # 乱数を利用する場合に読み込みます。
~
***変数と代入
変数の活用と、代入処理はプログラミングの基本です。
n = 1000
-この例で n はデータ(数値や文字)を入れるための「器」と...
-=記号は「等しい」という意味ではなく、右辺の内容を左辺の...
-ちなみに以下の記述は同意で、現在の x に 1 を加えて x を...
x = x +1
x += 1
プログラム中にある cnt_in += 1 というのは、cnt_in という...
~
***制御文
上記のプログラムでは ''if 文''と ''for 文''を利用していま...
~
***if 文
判断結果(true / false)によって処理を分岐します。
if r <= 1.0:
cnt_in += 1
else:
cnt_out += 1
この例では、r が 1.0以下の場合は、cnt_in が1つ増え、そう...
~
***for 文
一定回数処理を繰り返す場合に利用するものです。
for i in range(1000):
# ここに処理内容を記述
この例では i の値が 0 から 999 まで「処理」が1000回繰り返...
~
***while 文
while 文は条件が真の間処理を繰り返します。
while n < 100:
# ここに処理内容を記述
この例では n の値が 100未満の場合に「処理」が繰り返されま...
~
***range関数 について
range 関数は開始値から終了値(未満)までの数値を要素とし...
range(start, stop[, step])
-range(5) > 0 1 2 3 4
-range(0, 5) > 0 1 2 3 4
-range(1,10) > 1 2 3 4 5 6 7 8 9
-range(0, 10, 2) > 0 2 4 6 8
~
***インデントについて
Python ではインデント(字下げ)によってブロックを表現しま...
-if 文や for 文など、同一レベルのインデントを持つ複合文(...
-インデントがきちんととられていないと文法エラーになる・・...
-他の言語では、制御ブロックの終端の明記(「 } 」 など)が...
~
***コメントについて
Python では # 記号以降はコメントとして扱われます。プログ...
-インラインコメント
#から行末までは実行時に無視されます。#より前のコードは有...
a = 1 # comment
-ブロックコメント(行全体)
行頭に#を書くと、行全体コメントとなり、実行時には無視さ...
a = 1
# b = 2
# c = 3
d = 4
~
~
**サンプルプログラム3
#image(spaceinvaders.jpg,right,30%)
GitHub上にある、spaceinvaders をダウンロードして、ローカ...
このプログラムは GUIベースのプログラムとして動くので、Col...
~
***準備
-GitHubから space-invaders をダウンロードします。
--https://github.com/leerob/space-invaders
--緑のボタン "code" から Download Zip をクリック
-任意の場所(デスクトップ等)に置いて解凍します。
space-invaders-master という名称のフォルダができます。
-Python IDLE のメニュー、File > Open で、spaceinvaders.p...
~
***とりあえず、実行
-まずは、Python IDLE のメニュー、Run > Run Module してく...
-IDLE Shell にエラーメッセージが出ると思います。
ModuleNotFoundError: No module named 'pygame'
理由は、プログラムの5行目に記載のある from pygame import...
-このパッケージは、Pythonのインストール時には入らないので...
~
***パッケージのインストール
この作業は、__[[Terminal]]__(Windowsではコンソール)で行...
-MacOSのメニュー、移動>ユーティリティ から ターミナルを...
-以下のようにタイプします。
pip3 install pygame
-ターミナルにメッセージが出力されますが、その中に Success...
-この操作によって、実際には以下の場所にパッケージが置かれ...
/Library/Frameworks/Python.framework/Versions/3.XX/lib/p...
~
***再度実行
-spaceinvaders.py のウインドウをアクティブにした状態で、P...
-インベーダーゲームが動くはずです。
-Window を閉じると、IDLE Shell の画面のプロンプトに戻りま...
閉じない場合は、IDLE Shell のプロンプトで以下のようにタイ...
quit()
-このように、Web上に公開されている様々な Pythonプログラム...
~
~
**APPENDIX
-Python 文法の詳細については、以下のページをご覧下さい。
__[[Python/Syntax]]__
~
~
ページ名: