Ku-Chartとは何か①

Ku-Chart自体は有名なので、定義について議論するようなことはせず、ここではKu-Chartが表している価値が実質的に何であるのかということを考えてみる。

豪ドル、ユーロ、ポンド、円、米ドルの5通貨モデルで、ドルストレートのデータを材料にしてKu-Chartを作成した場合、以下のような計算式になる。

a = (log(AUDUSD) + log(EURUSD + log(GBUSD) - log(USDJPY)) / 5
Ku-AUD = log(AUDUSD) - a
Ku-EUR = log(EURUSD) - a
Ku-GBP = log(GBPUSD) - a
Ku-JPY = -log(USDJPY) - a
Ku-USD = -a

これをさらに分解して計算してみる。

なお、計算過程がくどいが、私は計算過程を省略するのがあまり好きではないので(一歩一歩進めないと自分でも理解できない)、目をつぶっていただきたい。

a = (log(AUD/USD) + log(EUR/USD) + log(GBP/USD) - log(USD/JPY)) / 5
Ku-AUD = log(AUD/USD) - a
Ku-EUR = log(EUR/USD) - a
Ku-GBP = log(GBP/USD) - a
Ku-JPY = -log(USD/JPY) - a
Ku-USD = -a

a = (log(AUD) - log(USD) + log(EUR) - log(USD) + log(GBP) - log(USD) - log(USD) + log(JPY)) / 5
Ku-AUD = log(AUD) - log(USD) - a
Ku-EUR = log(EUR) - log(USD) - a
Ku-GBP = log(GBP) - log(USD) - a
Ku-JPY = -log(USD) + log(JPY) - a
Ku-USD = -a

a = (log(AUD) + log(EUR) + log(GBP) + log(JPY) - log(USD) - log(USD) - log(USD) - log(USD)) / 5
Ku-AUD = log(AUD) - log(USD) - a
Ku-EUR = log(EUR) - log(USD) - a
Ku-GBP = log(GBP) - log(USD) - a
Ku-JPY = log(JPY) - log(USD) - a
Ku-USD = -a

a = (log(AUD) + log(EUR) + log(GBP) + log(JPY) + {log(USD) - log(USD)} - log(USD) - log(USD) - log(USD) - log(USD)) / 5
Ku-AUD = log(AUD) - log(USD) - a
Ku-EUR = log(EUR) - log(USD) - a
Ku-GBP = log(GBP) - log(USD) - a
Ku-JPY = log(JPY) - log(USD) - a
Ku-USD = -a

a = (log(AUD) + log(EUR) + log(GBP) + log(JPY) + log(USD) - log(USD) - log(USD) - log(USD) - log(USD) - log(USD)) / 5
Ku-AUD = log(AUD) - log(USD) - a
Ku-EUR = log(EUR) - log(USD) - a
Ku-GBP = log(GBP) - log(USD) - a
Ku-JPY = log(JPY) - log(USD) - a
Ku-USD = -a

a = (log(AUD) + log(EUR) + log(GBP) + log(JPY) + log(USD) - (5 * log(USD))) / 5
Ku-AUD = log(AUD) - log(USD) - a
Ku-EUR = log(EUR) - log(USD) - a
Ku-GBP = log(GBP) - log(USD) - a
Ku-JPY = log(JPY) - log(USD) - a
Ku-USD = -a

a = ((log(AUD) + log(EUR) + log(GBP) + log(JPY) + log(USD)) / 5) - (5 * log(USD)) / 5
Ku-AUD = log(AUD) - log(USD) - a
Ku-EUR = log(EUR) - log(USD) - a
Ku-GBP = log(GBP) - log(USD) - a
Ku-JPY = log(JPY) - log(USD) - a
Ku-USD = -a

a = ((log(AUD) + log(EUR) + log(GBP) + log(JPY) + log(USD)) / 5) - log(USD)
Ku-AUD = log(AUD) - log(USD) - a
Ku-EUR = log(EUR) - log(USD) - a
Ku-GBP = log(GBP) - log(USD) - a
Ku-JPY = log(JPY) - log(USD) - a
Ku-USD = -a

mean = (log(AUD) + log(EUR) + log(GBP) + log(JPY) + log(USD)) / 5
a = mean - log(USD)
Ku-AUD = log(AUD) - log(USD) - a
Ku-EUR = log(EUR) - log(USD) - a
Ku-GBP = log(GBP) - log(USD) - a
Ku-JPY = log(JPY) - log(USD) - a
Ku-USD = -a

mean = (log(AUD) + log(EUR) + log(GBP) + log(JPY) + log(USD)) / 5
Ku-AUD = log(AUD) - log(USD) - (mean - log(USD))
Ku-EUR = log(EUR) - log(USD) - (mean - log(USD))
Ku-GBP = log(GBP) - log(USD) - (mean - log(USD))
Ku-JPY = log(JPY) - log(USD) - (mean - log(USD))
Ku-USD = -(mean - log(USD))

mean = (log(AUD) + log(EUR) + log(GBP) + log(JPY) + log(USD)) / 5
Ku-AUD = log(AUD) - log(USD) - mean + log(USD)
Ku-EUR = log(EUR) - log(USD) - mean + log(USD)
Ku-GBP = log(GBP) - log(USD) - mean + log(USD)
Ku-JPY = log(JPY) - log(USD) - mean + log(USD)
Ku-USD = -mean + log(USD)

mean = (log(AUD) + log(EUR) + log(GBP) + log(JPY) + log(USD)) / 5
Ku-AUD = log(AUD) - mean
Ku-EUR = log(EUR) - mean
Ku-GBP = log(GBP) - mean
Ku-JPY = log(JPY) - mean
Ku-USD = log(USD) - mean

お疲れ様でした。

私たちは例えば「Ku-AUD」なら「AUD」、あるいは「log(AUD)」そのものではないにしても、その近似値のつもりで使っていると思う。だが、実際には少し違う。

「Ku-AUD = log(AUD)」となるためには「mean = 0」とならなければならないが、もちろん、そのようなことは保証されない。

ところで、「log(AUDUSD) = log(AUD) - log(USD)」であることを考えると

mean = log(MEAN)
Ku-AUD = log(AUD) - mean
Ku-AUD = log(AUD) - log(MEAN)
Ku-AUD = log(AUDMEAN)

となる。

つまり、構成する通貨の平均をクウォート通貨と見なす一種の通貨ペアと考えたほうが実態に近いかと思う。あるいは通貨平均乖離率と考えるほうが分かりやすいかもしれない。

どうでもいいことだが、常に「mean = 0」となるためには「log(1) = 0」であるから常に「MEAN = 1」である必要がある。

それはさて、例えばKu-Powerを組み合わせて

Ku-AUD - Ku-USD = log(AUDUSD)

とすることができるが、こういう性質もあたかも「Ku-AUD = log(AUD)」、あるいは「Ku-USD = log(USD)」であるかのような錯覚を起こしやすい。

だが、これは

Ku-AUD - Ku-USD = log(AUDUSD)
log(AUD) - log(MEAN) - (log(USD) - log(MEAN)) = log(AUDUSD)
log(AUD) - log(MEAN) - log(USD) + log(MEAN) = log(AUDUSD)
log(AUD) - log(USD) - log(MEAN) + log(MEAN) = log(AUDUSD)
log(AUD) - log(USD) = log(AUDUSD)

となって、余計な「log(MEAN)」を相殺してくれるからである。

Ku-Chartの有用性についてどうこう言うつもりはない。有用だと言う人はそれをうまく使っており、有用でないと言う人はそれをうまく使えていないだけのことだ。だが、Ku-Chartが表している価値は実質的にはこういうものであるということは頭に入れておいて損はないだろう。

(2016/12/28更新)

二郎風「豚」の作り方

私は二郎に通い続けておよそ10年になるジロリアンである。たまたま、以下のページを見て、自分でも二郎で食べるような「豚」を作ってみたいと思い、試してみた。

http://waretaru.blogspot.jp/2016/10/blog-post_17.html

ただ、これでは情報が少ないので、以下のページも参考にした。

http://gadget-jk.hatenablog.com/entry/ra-mejiro_buta

http://blogs.yahoo.co.jp/kamikamiwayo/10336731.html

凝りだしたら切りがないので、私としてはなるべく手間をかけずに簡単に、それでいてなるべく店の味に近いものを作りたい。これから書くことはその試行錯誤である。

随時更新したいと考えている。

1回目(2016/12/22)

材料

  • 豚肩ロース(ネット入り) 350g
  • ねぎ1本(緑の部分のみ)
  • 醤油 300ml
  • みりん 60ml
  • 料理酒 90ml

手順

①豚とねぎを圧力炊飯器に入れる。

②水をひたひたになるくらいに入れる。

③白米をふつうに炊くのと同じ設定で炊く。

私の家の炊飯器ではスタートのスイッチを押すと炊き上がるまでの時間が「40分」と表示される。だが、残り「15分」となってからが進まない。実際は白米ではないからだろう。結局、1時間強でようやく炊き上がる。

④醤油、みりん、料理酒を鍋に入れ、沸騰させる。

これが漬け汁である。

⑤漬け汁を適当な器に移す。

⑥豚を漬け汁に漬ける。

豚の上半分が出てしまうので、30分漬けた後、裏返して更に30分漬けた。

感想

今回はかなり手抜きな作り方をしたので、果たして味はどうかと戦々恐々としたが、意外とうまく出来て驚いた。ただ、よく行く店で食べている味と比べると、やや辛く感じ、また、味がもう少し中まで染みてほしかったなと思った。

今度作るときは醤油を減らしてみりんと料理酒を増やしてみる。配分は高田馬場店に寄せたほうがいいかな?また、2時間くらい漬けてみようと思う。あるいは豚にフォークで穴を開けておくのもいいかもしれない。

あと、豚350gだと1人ならともかく、家族と食べると物足りない。倍は欲しいな。

2回目(2017/01/02)

材料

  • トンテキ用豚ロース 620g
  • ねぎ1本(緑の部分のみ)
  • 醤油 200ml
  • みりん 100ml
  • 料理酒 120ml

手順

1回目と基本的に同じ。ただ、④は1回目のときは強火で沸騰させたが、弱火が本当っぽいので、今回は弱火で沸騰させた。また⑥は今回は8時間漬けた。

感想

今回はいろいろと手を加えてもよかったのだが、一度にやると、味の違いの要因が分かりにくいので、漬け汁の材料の配分と漬ける時間だけ変更した。

今回は醤油の配分を少なめにしたが、それでもちょっと辛かった。まだ醤油が多いというよりは8時間が漬けすぎのようである。だが、今回もおいしかった。次は2時間で試してみよう。

なお、肉は今回はトンテキ用豚ロースにしたが、半額だったのでそれにしただけである。肉は初めから1センチ程度の厚さにカットされていたので、味を染みこませるためにフォークで穴を開けるようなことはしなかった。

また、漬け汁も十分だったので(前回より少ないが、肉が薄かったのと、肉が多くて水かさが上がったことによる)、肉を裏返して漬けるようなことはしなかった。

更にあれこれ手を加えたほうがうまくなるかもしれないが、今回でも十分うまかったので、うまさと手軽さのバランスを取るのであれば、今回はけっこういい感じだった。

(2017/01/02更新)

物理学ノート

アインシュタイン曰く

本やノートに書いてあることをどうして憶えておかなければならないのかね?

というわけで、よく使われるが、すぐ忘れてしまう公式などを覚えないで済むよう、メモとして残す。

随時追加する。

記号

ここで使う記号は慣用的なもので厳密ではない。1つの記号を別の意味で使うこともある。

アルファベット

\[ A: 振幅、面積 \] \[ e: 熱効率 \] \[ f: 振動数 \] \[ F: 力 \] \[ g: 重力加速度 \] \[ h: 高さ \] \[ I: 慣性モーメント \] \[ k: ばね定数 \] \[ K: 運動エネルギー \] \[ L: 角運動量、幅、リットル \] \[ m: 質量、ミリ \] \[ n: 整数 \] \[ P: 圧力 \] \[ Q_{C}: 低温源が受け取った熱量 \] \[ Q_{H}: 高温源から与えた熱量 \] \[ r: 半径 \] \[ T: 周期 \] \[ T_{C}: 低温源 \] \[ T_{H}: 高温源 \] \[ v: 速度 \] \[ V: 体積 \] \[ W: 重量、仕事 \]

ギリシャ文字 \[ \lambda: 波長 \] \[ \omega: 角速度 \] \[ \rho: 密度 \] \[ \tau: トルク \]

単位

\[ Hz: ヘルツ \] \[ J: ジュール \] \[ \frac {N} {m}: ニュートン毎メートル \] \[ Pa: パスカル \]

Torque and Angular momentum

角加速度

\[ \alpha = \frac {\Sigma{\tau}} {I} \]

角加速度の計算

\[ \omega = \omega_{0} + \alpha t \] \[ \Delta \theta = (\frac {\omega + \omega_{0}} {2})t \] \[ \Delta \theta = (\frac {\omega_{0} + \alpha t + \omega_{0}} {2})t \] \[ \Delta \theta = (\frac {2\omega_{0} + \alpha t} {2})t \] \[ \Delta \theta = \omega_{0}t + \frac {1} {2} \alpha t^{2} \] \[ \omega^{2} = (\omega_{0} + \alpha t)^{2} \] \[ \omega^{2} = \omega_{0}^{2} + 2\omega_{0}\alpha t + \alpha^{2}t^{2} \] \[ \omega^{2} = \omega_{0}^{2} + 2\alpha(\omega_{0}t + \frac {1} {2} \alpha t^{2}) \] \[ \omega^{2} = \omega_{0}^{2} + 2\alpha \Delta \theta \] \[ 2\alpha \Delta \theta = \omega^{2} - \omega_{0}^{2} \] \[ \alpha = \frac {\omega^{2} - \omega_{0}^{2}} {2\Delta \theta} \]

トルク

\[ \tau = rF \] \[ \tau = rF\sin{\theta} \]

慣性モーメント

\[ I = mr^{2} \] \[ I = \frac {1} {2} mr^{2} \] \[ I = \frac {2} {5} mr^{2} \] \[ I = \frac {1} {3} mr^{2} \]

エネルギー保存の法則

\[ mgh = \frac {1} {2} mv^{2} + \frac {1} {2} I\omega^{2} \]

速度

\[ v = r\omega \]

角運動量

\[ L = mvr \] \[ L = I\omega \]

運動エネルギー

\[ K = \frac {1} {2} mv^{2} \] \[ K = \frac {1} {2} I\omega^{2} \]

Oscillations and mechanical waves

波の位置

\[ x(t) = A\sin{\frac {2\pi} {T}t} \]

水平ばね振り子の周期

\[ T = 2\pi \sqrt{\frac {m} {k}} \] \[ T = 2\pi \sqrt{\frac {L} {g}} \]

ばね定数

\[ k = \frac {(4\pi^{2})m} {T^{2}} \]

速度

\[ v = \lambda f \]

振動数

\[ f = \frac {v} {\lambda} \]

波長(定常波)

\[ \lambda = \frac {2L} {n} (節と節、腹と腹) \]

\[ \lambda = \frac {4L} {n} (節と腹) \]

Fluids

圧力

\[ P = \frac {F} {A} \] \[ P = \rho gh \]

密度

\[ \rho = \frac {m} {V} \]

重量

\[ W = mg \]

大気圧

\[ P_{atm} = 1.01 \times 10^{5} Pa \]

浮力

\[ F_{B} = \rho_{fluid} Vg \]

気体の仕事

\[ 1Pa * 1L = 1mJ \]

ベルヌーイの定理

\[ P_1 + \frac {1} {2} \rho v_1^{2} + \rho gh_1 = P_2 + \frac {1} {2} \rho v_2^{2} + \rho gh_2 \]

熱効率

\[ e = \frac {W} {Q_{H}} \]

\[ e = 1 - \frac {T_{C}} {T_{H}} \]

記号

アルファベット

\[ G: 万有引力定数 \] \[ I: 運動量 \] \[ M: 力のモーメント、質量 \] \[ p: 運動量 \] \[ P: 仕事率 \] \[ r: 距離 \] \[ s: 距離 \] \[ t: 時間 \] \[ U: 位置エネルギー \] \[ v_0: 初速度 \] \[ W: 仕事 \] \[ x: ばねの伸び縮みの長さ \] \[ y: 変位 \]

ギリシャ文字 \[ \alpha: 加速度 \] \[ \theta: 角 \]

単位

\[ kW: キロワット \] \[ \frac {m} {s}: メートル毎秒 \] \[ \frac {m} {s^{2}}: メートル毎秒毎秒 \] \[ N: ニュートン \] \[ rad: ラジアン \] \[ \frac {rad} {s}: ラジアン毎秒 \] \[ \frac {rad} {s^{2}}: ラジアン毎秒毎秒 \] \[ s: 秒 \] \[ W: ワット \]

力学

加速度

\[ a = \frac {M} {I} \]

等加速度直線運動

\[ v = v_0 + at \]

自由落下運動

\[ y = \frac {1} {2} gt^{2} \] \[ v^2 = 2gy \]

運動方程式

\[ m\vec{a} = \vec{F} \]

仕事

\[ W = Fs \]

仕事率

\[ P = \frac {W} {t} \]

弾性力による位置エネルギー

\[ U = \frac {1} {2} kx^{2} \]

運動量

\[ \vec{p} = m\vec{v} \]

力積

\[ \vec{I} = \vec{F}\Delta t \]

運動量保存の法則

\[ m_1\vec{v_1} + m_2\vec{v_2} = m_1\vec{v_1'} + m_2\vec{v_2'} \]

角速度

\[ \omega = \frac {\theta} {t} \]

等速円運動の加速度

\[ a = \frac {v^{2}} {r} \]

万有引力

\[ F = G \frac {Mm} {r^{2}} \]

(2017/02/23更新)

FXシステムの使い方(プログラム)

FXシステムのプログラムについて簡単に説明する。

FXシステムのインポート

FXシステムのインポートをインポートする。

○以下のコマンドをSpyderの「IPython console」にコピー&ペーストして「Enter」キーを2回押す。

import forex_system as fs

calc_signal()

シグナルを計算する。例としてZスコアが-2以下で買いエントリー、0以上で買いエグジット、+2以上で売りエントリー、0以下で売りエグジットとするシグナルを最後の5個のみ表示する。

○以下のコマンドをSpyderの「IPython console」にコピー&ペーストして「Enter」キーを2回押す。

zscore1 = fs.i_zscore('USDJPY', 5, 20, 'MODE_SMA', 1)
buy_entry = zscore1 <= -2.0
buy_exit = zscore1 >= 0.0
sell_entry = zscore1 >= 2.0
sell_exit = zscore1 <= 0.0
signal = fs.calc_signal(buy_entry, buy_exit, sell_entry, sell_exit)
print(signal.tail())

出力

2016-12-30 23:35:00   -1
2016-12-30 23:40:00   -1
2016-12-30 23:45:00   -1
2016-12-30 23:50:00   -1
2016-12-30 23:55:00   -1
Name: close, dtype: int64

convert_minute2period()

分を計算期間に変換する。例として60分が5分足では足何本分になるかを表示する。

○以下のコマンドをSpyderの「IPython console」にコピー&ペーストして「Enter」キーを2回押す。

period = fs.convert_minute2period(60, 5)
print(period)

出力

12

i_bandwalk()

バンドウォークを計算する。例としてバンドウォーク(USDJPY、5分足、20本、単純移動平均、1本前の足)を最後の5個のみ表示する。

○以下のコマンドをSpyderの「IPython console」にコピー&ペーストして「Enter」キーを2回押す。

bandwalk1 = fs.i_bandwalk('USDJPY', 5, 20, 'MODE_SMA', 1)
print(bandwalk1.tail())

出力

2016-12-30 23:35:00     8
2016-12-30 23:40:00     9
2016-12-30 23:45:00    10
2016-12-30 23:50:00    11
2016-12-30 23:55:00    12
dtype: int64

i_close()

終値を計算する。例として終値(USDJPY、5分足、1本前の足)を最後の5個のみ表示する。

○以下のコマンドをSpyderの「IPython console」にコピー&ペーストして「Enter」キーを2回押す。

close1 = fs.i_close('USDJPY', 5, 1)
print(close1.tail())

出力

2016-12-30 23:35:00    116.969
2016-12-30 23:40:00    116.960
2016-12-30 23:45:00    116.955
2016-12-30 23:50:00    116.968
2016-12-30 23:55:00    117.037
Name: close, dtype: float64

i_hl_band()

HLバンドを計算する。例としてHLバンド(USDJPY、5分足、20本、1本前の足)を最後の5個のみ表示する。

○以下のコマンドをSpyderの「IPython console」にコピー&ペーストして「Enter」キーを2回押す。

hl_band1 = fs.i_hl_band('USDJPY', 5, 20, 1)
print(hl_band1.tail())

出力

                        high      low    middle
2016-12-30 23:35:00  117.007  116.736  116.8715
2016-12-30 23:40:00  117.007  116.736  116.8715
2016-12-30 23:45:00  117.007  116.736  116.8715
2016-12-30 23:50:00  117.007  116.736  116.8715
2016-12-30 23:55:00  117.044  116.736  116.8900

i_log_return()

対数リターンを計算する。例として対数リターン(USDJPY、5分足、1本、1本前の足)を最後の5個のみ表示する。

○以下のコマンドをSpyderの「IPython console」にコピー&ペーストして「Enter」キーを2回押す。

log_return1 = fs.i_log_return('USDJPY', 5, 1, 1)
print(log_return1.tail())

出力

2016-12-30 23:35:00    0.000077
2016-12-30 23:40:00   -0.000077
2016-12-30 23:45:00   -0.000043
2016-12-30 23:50:00    0.000111
2016-12-30 23:55:00    0.000590
Name: close, dtype: float64

i_zscore()

Zスコアを計算する。例としてZスコア(USDJPY、5分足、20本、単純移動平均、1本前の足)を最後の5個のみ表示する。

○以下のコマンドをSpyderの「IPython console」にコピー&ペーストして「Enter」キーを2回押す。

zscore1 = fs.i_zscore('USDJPY', 5, 20, 'MODE_SMA', 1)
print(zscore1.tail())

出力

2016-12-30 23:35:00    1.654821
2016-12-30 23:40:00    1.378440
2016-12-30 23:45:00    1.182932
2016-12-30 23:50:00    1.207435
2016-12-30 23:55:00    1.743651
Name: close, dtype: float64

time_hour()

インデックスの時を返す。例としてインデックスの時を最後の5個のみ表示する。

○以下のコマンドをSpyderの「IPython console」にコピー&ペーストして「Enter」キーを2回押す

zscore1 = fs.i_zscore('USDJPY', 5, 20, 'MODE_SMA', 1)
hour = fs.time_hour(zscore1.index)
print(hour.tail())

出力

2016-12-30 23:35:00    23
2016-12-30 23:40:00    23
2016-12-30 23:45:00    23
2016-12-30 23:50:00    23
2016-12-30 23:55:00    23
dtype: int32

time_month()

インデックスの月を返す。例としてインデックスの月を最後の5個のみ表示する。

○以下のコマンドをSpyderの「IPython console」にコピー&ペーストして「Enter」キーを2回押す

zscore1 = fs.i_zscore('USDJPY', 5, 20, 'MODE_SMA', 1)
month = fs.time_month(zscore1.index)
print(month.tail())

出力

2016-12-30 23:35:00    12
2016-12-30 23:40:00    12
2016-12-30 23:45:00    12
2016-12-30 23:50:00    12
2016-12-30 23:55:00    12
dtype: int32
(2016/02/08更新)

Pythonの使い方

Pythonの関数や文法はいろいろあるが、このブログで使われているものに限り、標準ライブラリの範囲で使い方を紹介する(「FXシステム」のうち、「コラム」以外のカテゴリの記事はカバー出来ていると思う。随時追加する)。とりあえず以下の操作を何回か繰り返せば使い方が分かってくると思う。

文字の出力

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

print("Hello, World!")

出力

Hello, World!

コメントアウト(1行)

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

# これはコメントです。
print("Hello, World!")

出力

Hello, World!

コメントアウト(複数行)

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

'''これはコメントです。
これはコメントです。
これはコメントです。
'''
print("Hello, World!")

出力

Hello, World!

変数

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

s = "Hello, World!"
print(s)

出力

Hello, World!

整数

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

print(1)

出力

1

浮動小数点数

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

print(1.0)

出力

1.0

リスト

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

l = [768, 7968]
print(l)
print(l[0])
print(l[1])

出力

[768, 7968]
768
7968

タプル

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

t = (768, 7968)
print(t)
print(t[0])
print(t[1])

出力

(768, 7968)
768
7968

slice()関数

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

l = [768, 7968, 3465, 5810, 239, 6777, 2618, 8716, 4100, 7634]
s1 = slice(0, 9, 2)
s2 = slice(0, 9, 3)
print(l[s1])
print(l[s2])

出力

[768, 3465, 239, 2618, 4100]
[768, 5810, 2618]

型変換

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

print(float(1))
print(int(1.0))

出力

1.0
1

算術演算子

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

print(1 + 2)
print(1 - 2)
print(1 * 2)
print(1 / 2)
print(1 % 2)

出力

3
-1
2
0.5
1

関係演算子

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

print(1 == 2)
print(1 != 2)
print(1 > 2)
print(1 < 2)
print(1 >= 2)
print(1 <= 2)

出力

False
True
False
True
False
True

論理演算子

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

print(True & True)
print(True & False)
print(False & False)
print(True | True)
print(True | False)
print(False | False)

出力

True
False
False
True
True
False

if文

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

a = 3
if a == 1:
    print('aは1です。')
elif a == 2:
    print('aは2です。')
else:
    print('aは1でも2でもありません。')

出力

aは1でも2でもありません。

or

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

a = 1
if a == 1 or a == 2:
    print('aは1、または2です。')
else:
    print('aは1でも2でもありません。')

出力

aは1、または2です。

and

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

a = 1.5
if a >= 1 and a < 2:
    print('aは1以上、かつ2未満です。')
else:
    print('aは1未満、または2以上です。')

出力

aは1以上、かつ2未満です。

for文

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

for i in range(3):
    print(i+1, '回目のループです。')

出力

1 回目のループです。
2 回目のループです。
3 回目のループです。

while文

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

i = 0
while i < 3:
    print(i+1, '回目のループです。')
    i = i + 1

出力

1 回目のループです。
2 回目のループです。
3 回目のループです。

関数の作成

○以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

def func(a, b):
    return a + b

ans = func(1, 2)
print(ans)

出力

3

プログラムファイルの実行

①以下のプログラムをSpyderの「エディタ」にコピー&ペーストし、「test.py」ファイルとして「~/py」フォルダーに保存する。

print('Hello, world!')

②以下のプログラムをSpyderの「IPythonコンソール」にコピー&ペーストして「Enter」キーを2回押す。

%run ~/py/test.py

出力

Hello, world!
(2017/01/26更新)