mk-mode BLOG

このブログは自作の自宅サーバに構築した Debian GNU/Linux で運用しています。
PC・サーバ構築等の話題を中心に公開しております。(クローンサイト: GitHub Pages

ブログ開設日2009-01-05
サーバ連続稼働時間
Reading...
Page View 合計
Reading...
今日
Reading...
昨日
Reading...

Cygwin - Python を使う!

[ プログラミング, 数学 ] [ Cygwin, Python, 円周率 ]

こんばんは。

Cygwin 上で Python を使えるようにしてみました。

現在、Python は 2.x 系では 2.7.2 が最新、3.x 系では 3.2.2 が最新のようです。 ソースからインストールする場合は、これらのバージョンにするでのしょうが、今回はちょっと試すだけなので、パッケージによるインストールとしました。(この場合のバージョンは、2.6.7)

以下が、環境構築記録です。

記録

1.Python インストール

Cygwin の setup.exe からインストールするか、apt-cyg 等のツールを導入済みなら以下のようにしてインストールする。

1
2
3
$ apt-cyg install python
$ python -V
Python 2.6.7

2.対話形式でで動作確認

対話形式で Python の動きを確認してみます。

1
2
3
4
5
6
7
$ python
Python 2.6.7 (r267:88850, Feb  2 2012, 23:50:20)
[GCC 4.5.3] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print "Hello Python!"
Hello Python!
>>>

対話形式の終了は CTRL + D です。

3.動作確認用スクリプトの作成

実際にスクリプトファイルを実行できるかを確認するためにテスト用のスクリプトを作成します。 今回は、モンテカルロ法による円周率計算のソースを作成。 【ファイル名:pi_montecarlo.py】

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/usr/python
# coding: UTF-8
# モンテカルロ法による円周率の計算

from random import 
from math   import 

# 計算結果比較用に組み込み関数により定めた円周率
pi_0 = 2  acos( 0 )

seed()        # 乱数の種の初期化
im = 2  20  # 乱数発生回数
n = 0.0       # 半径1未満の件数
for i in range(im):
    x = random()
    y = random()
    if ( x2 + y**2 < 1 ):
      n += 1
pi = 4  n / im

# 結果出力
print 'pi   = ' + str( pi )         # 計算結果
print 'pi_0 = ' + str( pi_0 )       # 組み込み関数の円周率
print 'diff = ' + str( pi - pi_0 )  # 誤差

4.動作確認

以下のようにして実行する。

1
2
3
4
$ python pi_montecarlo.py
pi   = 3.14395904541
pi_0 = 3.14159265359
diff = 0.00236639182036


今回は円周率計算をしてみました。 中学生レベルの計算方法でしたが、本格的に円周率を計算してみたかったら、以下のサイト等を参考にしてください。

当方もいつか別の方法で計算してみたいとは思っています。

以上です。

Comments