変数を使う
コンピュータ・プログラムは「データを取り込んで、処理する」ものと考えることができます。
プログラム内でデータ(主として数値)を保持するための仕組みとして、
変数があります。
size(200, 200) #rに50を代入 r = 50 ellipse(100, 100, r, r)
r が変数です。
変数には 数値(上の例では50) や文字列を入れて(覚えさせて)おくことができます。
= は代入文を表しており、右辺の値を左辺に代入します。
演算した結果を代入することもできます。
r = 50 + 10 r = 50 * 100 / 20 r = sin(radians(30))
など。
代入文の左辺は変数単独でなければなりません。x + 1 =3 とかはダメ。
変数名はアルファベットと数字の組み合わせにより自由に設定できます(ただし、数字が先頭に来てはいけない)。大文字と小文字は区別されます。なお、メソッド名として使われているもの(ellipseなど)は使えません。
数値に関する演算子には次のようなものがあります。
演算子 | 意味 | 例 | 結果 |
+ | 加算 たす | 3+2 | 5 |
− | 減算 ひく | 3-2 | 1 |
* | 乗算 かける | 3*2 | 6 |
/ | 除算 わる | 3/2.0 | 1.5 |
** | 指数 乗 | 3**2 | 9 |
// | 整数の除算 | 3//2 | 1 |
% | 剰余 あまり | 3//2 | 1 |
数値は基本的には整数として扱われます。
小数として扱うには、次のように .0 を付けるとよいでしょう。
r = 50.0
変数の値を確認する
プログラムが正しく動いているかどうかを知るために、演算結果を確かめる必要があります。
方法1 画面下のテキストエリアに表示
size(200, 200) r = 50 ellipse(100, 100, r, r) println(r)
命令 println()で、ソース画面下のテキストエリアにデータを表示できます。
方法2 グラフィック画面上での数値の表示
次に、出力画面において画面上に数値を表す方法について説明します。
表示用のフォントを作成します。processingの画面から[Tools]-[Create Font…]を選びます。
好みのフォントを選択し、Sizeに大きさを入力します。
Filenameはこの後使うので、コピーしておくとよいでしょう。
[OK]を押すとフォントファイルが作成されます。
次にサンプルプログラムを示します。
r = 50 font = loadFont("AngsanaUPC-Bold-48.vlw") #フォントファイル名は上で作ったものを指定 textFont(font) #フォントの指定 background(0) s = nf(r, 1, 2) #数値を整形して文字列に変換 text(s+" pixel", 50, 100) #画面に文字列を表示
説明します。
- 2行目 fontという変数にフォントファイルを読み込みます。
- 3行目 使うフォントを指定します。
(複数のフォントを使いたいときはfont1, font2など複数のPFont型変数を用意してそれぞれにフォントファイルを読み込み、文字を書く(text, 6行目)前にその都度textFont()でフォントを指定する) - 5行目 nfは数値を文字列に変換する命令です。
nf(a, n, m);
# a = 変換する数値
# n = 小数点より大きい部分の最小桁数(通常は1)
# m = 小数点以下の桁数(四捨五入される) - 6行目 textは文字列を画面上に表示する命令です。
text(表示する文字列, x座標, y座標);
(文字列はは+で連結できます。文字列はダブルクォーテーション(“)で囲みます。)
これで数値などの情報を画面に示せるようになりました。
変数の型
Pythonでは、変数にさまざまなデータを入れることができます。
データには「整数」や「小数」をはじめ、さまざまな “型” があります。
float | 浮動小数型 |
int | 整数型 |
bool | 論理型 (True / False) |
unicode | 文字列型 |
Pythonでは、変数の型は自動で決まります。
定義した変数がどの型なのかは、type という命令で知ることができます。
r = 50 println(type(r))
<type ‘int’> と表示されるので、 r という変数の型は int型、整数型であることがわかります。
小数型、整数型の変数には数値を代入することができます。
練習問題
- 画面上に自分の名前を表示してください。
- その下に、sin 45° の結果を表示してください。
文字の色は命令fill()で変えることができます。
http://processing.org/referenc……fill_.html