> アプリを使う > Pythonアプリ(パイソン プログラミング)

Pythonアプリ(パイソン プログラミング)

Pythonアプリは、本機で動作するように改編された、MicroPython Version 1.9.4です。

重要!

一般的に、パソコン上で動作するPythonとMicroPythonは異なります。Pythonアプリは、MicroPythonのすべての関数・コマンド・モジュール・ライブラリには対応していません。

Pythonアプリは、MicroPythonの処理系にて実行されます。このため演算結果などは、別のアプリでの実行結果と異なる場合があります。

操作の流れ

例:  下記のスクリプトを作成し実行する

入力内容

各行の意味

def f(x,y,z):

if x>0:

t=x+y+z

else:

t=x-y-z

return(t)

関数名f、引数x,y,zのユーザー定義関数を定義する。

もし変数xが0より大きければ、

x+y+zの実行結果を変数tと定義する。

そうでなければ(もし変数xが0以下ならば)、

x−y−zの実行結果を変数tと定義する。

戻り値をtとする。

  1. h > Pythonを選ぶ。

  2. エディター(Editorタブ)が表示され、module.pyという名前のpyファイルが開きます。

  3. スクリプトを入力する。

  4. 入力操作については、アプリへの数値や文字の入力と編集および入力操作(エディター・Shell共通)を参照してください。

    CY875_Python_Operation Flow_1
  5. できあがったスクリプトを実行するには、>を押す。

  6. module.pyがShellにインポートされます。

    CY875_Python_Operation Flow_2
  7. ユーザー定義関数fを呼び出し、引数x、y、zにそれぞれ1、2、3を入力する。

    1. Vを押してVariableメニューを表示する。

    2. f(,,)を選び、Oを押す。

    3. fの引数として1,2,3を入力する。

  8. Eを押してf(1,2,3)を実行する。

  9. x>0なのでt=x+y+z(=1+2+3)が実行され、t=6が返されます。

    CY875_Python_Operation Flow_3
  10. エディターに戻るには、bを押す。

エディターを使う

HOME画面からPythonアプリに入ると、はじめにエディターが表示されます。アプリに入った直後は、必ず自動的にmodule.pyという名前のpyファイルが開きます。

スクリプトの作成と編集

module.pyにそのままスクリプトを入力するか、下記の操作で別のpyファイルを編集します。

これをするには:

このメニュー項目を選ぶ:

現在開いているファイルを閉じて、新規ファイルを作成する

T > [File] > [New]

現在開いているファイルを閉じて、別のファイルを開く

T > [File] > [Open]

現在開いているファイルを別名で保存する

T > [File] > [Save As]

本アプリでは、1ファイルあたり255文字×300行まで、文字や関数、コマンドを入力できます。エディターへの文字や関数、コマンドの入力については、入力操作(エディター・Shell共通)を参照してください。

アルファロックを切り替えるには

Pythonアプリに入るとエディターは小文字のアルファロックになり、ステータスバーにAlphabet_small_lockが表示されます。Pを押すと大文字のアルファロックに切り替わり、ステータスバーにAlphabet_big_lockが表示されます。もう一度Pを押すと、アルファロックが解除されます。

エディター内のスクリプトをコピーまたはカットするには

  1. コピーまたはカットしたい範囲の始点にカーソルを移動する。

  2. s0($)を押す。

  3. ステータスバーにClipboardが表示されます(手順4でOを押すまで)。

  4. コピーまたはカットしたい範囲の終点にカーソルを移動する。

  5. Oを押すと表示されるメニューから、[Copy]または[Cut]を選ぶ。

  6. 始点と終点の指定は逆でも構いません。

コピーまたはカットしたスクリプトをエディター内にペーストするには

  1. ペーストしたい位置にカーソルを移動する。

  2. s.(%)を押す。

カーソルを指定した行に移動するには

T > [Jump]を選び、表示されるダイアログに移動先の行番号を入力します。

現在開いているpyファイルを上書き保存するには

T > [File] > [Save]を選びます。

エディター内のスクリプトをすべて削除するには

aを押すか、T > [Delete All]を選びます。

pyファイルを削除するには

  1. T > [File] > [Delete]を選ぶ。

  2. 表示されるファイル一覧から削除したいファイルを選び、Oを押す。

  3. 確認ダイアログで、[OK]を選ぶ。

  4. この操作で現在開いているファイルは削除できません。

    module.pyを削除した場合、次回Pythonアプリを起動したときに、自動的に同名のファイル(内容は空)が作成され、そのファイルが開きます。

スクリプトの実行

下記の操作で、エディター内に表示中のスクリプトを実行します。

  1. >(または<)を押すか、T > [Run]を選ぶ。

  2. スクリプト(pyファイル)を保存済みの場合はShellに移動し、スクリプトが実行されます。

  3. スクリプト(pyファイル)を未保存の場合は、表示される確認ダイアログで操作を選ぶ。

  4. これをするには:

    これを選ぶ:

    pyファイルを保存してShellに移動し、スクリプトを実行する

    [Yes]

    pyファイルを保存せずにShellに移動し、スクリプトを実行する

    [No]

    スクリプトを実行せずにエディターに戻る

    [Cancel]

入力操作(エディター・Shell共通)

Character Selectメニューから文字を入力するには

T > [Character Select]を選ぶと、文字の一覧がエディターの下部に表示されます。

CY875_Python_Input Operations _1

この一覧から、英数字、記号、演算子を入力できます。入力するにはカーソルキーを使って入力したい文字を反転させ、Oを押します。文字の一覧を消すには、bまたはaを押します。

キーを使って文字や関数を入力するには

本機の各キーで入力できる文字や関数は、下表のとおりです。

キー

入力文字

キー

入力文字

キー

入力文字

09

0~9

`

s`(:)

:

i

**2

/

*

sv(sin-1)

asin()

g

**

*

/

sc(cos-1)

acos()

X

x

+

st(tan-1)

atan()

v

sin()

-

s((=)

=

c

cos()

k

*10**

s4([)

[

t

tan()

j

sqrt()

s5(])

]

(

(

N

exp()

s7(π)

pi

)

)

sN(ln)

log()

s9(i)

1j

.

si(log)

log10()

 

 

エディターへの入力時のオートコンプリートについて

エディターへの入力時は、オートコンプリート機能が働きます。アルファベットを入力すると、入力した文字に応じた入力候補のコマンドが表示されます。

入力候補が表示されている間は、下記の操作ができます。

これをするには:

このキーを押す:

別の入力候補に表示を切り替える(入力候補が複数ある場合)

dまたはu

現在表示されている入力候補を入力する

rまたはO

入力候補の表示をやめる

l (カーソル位置は1文字手前に移動します。)

参考

オートコンプリート機能で表示されるのは、Cを押すと表示されるCatalogメニュー内のコマンドです。

オートコンプリートの動作を無効にすることはできません。

Catalogメニューからコマンドや関数を入力するには

  1. 入力したい項目に応じたメニューを選ぶ。

  2. これを入力したいときは:

    このメニュー項目を選ぶ:

    Pythonの組み込みコマンド・関数

    C > [Built-in]

    mathモジュールのコマンド・関数

    C > [math]

    randomモジュールのコマンド・関数

    C > [random]

    matplotlib.pyplotモジュールのコマンド・関数

    C > [matplotlib.pyplot]

    turtleモジュールのコマンド・関数

    C > [turtle]

    casioplotモジュールのコマンド・関数

    C > [casioplot]

    記号・演算子

    C > [Symbol]

    全コマンド・関数のアルファベット順一覧から入力

    C > [All] > [a][z]

    項目の一覧が表示されます。

  3. 入力したい項目を反転させ、Oを押す。

  4. 項目が一覧表示されているときは、XA0Zキーを押して、項目の頭出しができます。

改行の入力と自動インデントについて

エディターでスクリプトの編集中にEを押すと、改行が入力されます。

ある行末の「:」の後ろでEを押すと、改行後の行には前行の行頭よりもスペース2個分が追加されます(自動インデント機能)。

インデントされた行でEを押すと、改行後の行にも同じインデント(スペース)が付加されます。

構文ブロック入力について

エディターへの入力時は、if:elsefor:range()など複数行の構文を持つコマンドをCatalogメニューから選ぶと、改行やスペースを含む構文ブロックが入力されます。

例:  if:elseを選び、下記のような複数行の構文ブロックを入力する(はスペースを表します)

if□:
□□
else:
□□

CY875_Python_Statement Block Input_1

Shellへの入力時は、最初の1行だけが入力されます。

ユーザーが定義した変数や関数を入力するには

  1. Vを押してVariableメニューを表示する。

  2. 入力したい変数または関数を反転させ、Oを押す。

  3. Variableメニューに表示されるのは、下記に該当する変数や関数です。

    エディターの表示中にVを押したとき

    表示中のpyファイルで定義されている、グローバル変数およびユーザー定義関数

    Shellの表示中にVを押したとき

    Shellの初期化*前に最後に実行したpyファイルで定義されている、グローバル変数およびユーザー定義関数

参考

Variableメニューに、下記は表示されません。

ローカル変数・関数内の関数・関数の引数・ユーザー定義クラス

現在開いているpyファイルからインポートしたpyファイルに含まれる変数や関数

Shellで定義した変数

Shellからインポートしたpyファイルに含まれる変数や関数

他のアプリでVを押したときに表示される変数は、Pythonアプリでは表示されません。

Shellを使う

Shellは対話型のコマンドラインです。Shell上の>>>プロンプトの位置からコマンドを入力*1してEを押し、すぐに結果*2を得ることができます。Shell上の履歴は、最新の200行が保持されます*3

入力は255文字までです。Shellへの文字や関数、コマンドの入力については、入力操作(エディター・Shell共通)を参照してください。

結果出力は1行あたり最大509文字までです。

T > [Delete All]を選ぶか、他のアプリを起動するまで。

Shellを表示するには

エディターの表示中にスクリプトを実行するか、T > [Shell]*を選びます。このとき、Shellは初期化されます。

T > [Shell]を選んだ場合、エディターに表示中のスクリプトは実行されません。

Shellの初期化について

Shellは最近実行されたスクリプト内で定義された変数や関数を、Shellのヒープ領域(一時保存用のメモリー領域)に保持します。Shellからエディターに移動すると、その時点でShellのヒープ領域はすべてクリアされます。これをShellの初期化と呼びます。Shellが初期化されると、そのことを表す* SHELL Initialized *というメッセージが、初期化されたタイミングの行に挿入されます。

Shell上の履歴をすべて削除するには

aを押すか、T > [Delete All]を選びます。

matplotlib.pyplotモジュール

matplotlib.pyplotモジュールは、Pythonアプリでグラフを描くための関数を備えています。

重要!

本機のPythonアプリに搭載されているmatplotlib.pyplotモジュールは、本機で動作するように作成された、独自のモジュールです。パソコン上のPythonで動作するmatplotlib.pyplotモジュールとは異なります。

本機のPythonアプリに搭載されているmatplotlib.pyplotモジュールに含まれる関数は、動作、サポートしている引数、その他仕様が、パソコン上のPythonのmatplotlib.pyplotモジュールのそれとは異なる場合があります。各関数は、本節に明記されている書式や引数のみに対応しています。

参考

matplotlib.pyplotモジュール内の関数を使用するには、あらかじめmatplotlib.pyplotモジュールをインポートする必要があります。

 

matplotlib.pyplotモジュールをインポートするには
  1. C > [matplotlib.pyplot]を選ぶ。

  2. 表示されるメニューから下記を選ぶ。

  3. from matplotlib.pyplot import *

    import matplotlib.pyplot

 

本節で示されている各関数の構文中、[ ]で括られている部分は、記述を省略できることを表します。

Pythonアプリのmatplotlib.pyplotモジュールに含まれる関数は、下記のとおりです。

描画画面の表示

show()

描画が指定されているすべてのグラフ、グリッド、および軸を、描画画面に表示します。

構文: show()     (引数なし)

 

描画画面を表示した後でShellに戻るには、bを押します。

参考

showを実行すると、実行前に指定されていた下記の内容がすべてクリアされます。

描画が指定されていたグラフ

軸の設定状態(初期設定に戻ります)

グリッドの設定状態(初期設定に戻ります)

1つのスクリプトにshowが2回以上記述されていた場合、スクリプト末尾から2番目のshowと最後のshowの間に描画や設定が記述されていたグラフ、グリッド、および軸を、描画画面に表示します。

軸とグリッドの設定

axis()

軸の表示範囲を指定したり、軸の設定を切り替えたりする関数です。

 

構文1: axis(listxy)

引数listxyに、軸の表示範囲を [xmin,xmax,ymin,ymax] の形式で入力します。xminとyminによって、画面左下端の座標が決定されます。

xmin

x軸の最小値

xmax

x軸の最大値

ymin

y最小値

ymax

y軸の最大値

listxyの型: list または tuple

listxyの各要素の型: int または float

初期値: [0,1,0,1]

CY876_Python Axis and Grid Settings_1 + CY876_Python Axis and Grid Settings_1

xmin

xmax

ymin

ymax

 

構文2: axis(option)

引数optionに下記キーワード(型: str)を入力することで、軸の設定を切り替えます。

“on”: 軸を表示する

“off”: 軸を非表示にする

“auto”: グラフに合わせて軸の範囲を自動設定する*1

 

構文3: axis()     (引数なし)

現在指定されている軸の表示範囲を返します。*2

 

axis(“auto”)は、グラフ描画関数の後ろに記述した場合のみ有効となります。

Shellでの実行時。pyファイル内に記述して設定値を出力させるには、print(axis())とする必要があります。

参考

軸の表示色は、黒固定です。

grid()

グリッドの表示/非表示や、グリッドの色を指定する関数です。

 

構文1: grid(option[,color])

グリッドの表示/非表示を指定します。同時に、グリッドの色も指定できます。

引数option: グリッドの表示/非表示を指定します。

str型で指定するには、下記キーワードを入力します。
“on”、“True”、または “true”: グリッドを表示する
“off”、“False”、または “false”: グリッドを非表示にする

bool型で指定するには、下記を入力します。
True: グリッドを表示する
False: グリッドを非表示にする

引数color: グリッドの色を指定します。

型: str

指定方法: grid(option,color=“キーワード”)の形で記述します。キーワードとして指定できる文字列は、色のキーワードを参照してください。

省略時の動作: グレーの実線でグリッドを描画します。(引数optionの指定が「グリッドを非表示にする」の場合は、描画されません。)

 

構文2: grid(color)

グリッドの色を指定します。また、グリッドの状態を「表示する」に切り替えます (構文1でgrid(“on”)と記述したときと同じ動作となります)。

引数color: グリッドの色を指定します。型と指定方法は、構文1と同様です。

 

構文3: grid()     (引数なし)

グリッドの表示/非表示を、現在とは逆の設定に切り替えます。

例えばgrid(“on”)の後ろにgrid()を記述すると、グリッドの設定は表示から非表示に切り替わります。

grid(“off”)の後ろにgrid()を記述すると、グリッドの設定は非表示から表示に切り替わります。この場合、グリッドはグレーの実線で描画されます。

参考

axisで軸の非表示を指定すると、グリッドも非表示に指定されます。

グラフや文字列の描画

plot()

点または線分を描画します。

 

構文1: plot(x,y[,color])

指定した座標に点を描画します。点の色を指定できます。

引数xy: 座標(x, y)を指定します。

型: int または float

引数color: 色を指定します。

型: str

指定方法: plot(x,y,“キーワード”)の形で記述します。キーワードとして指定できる文字列は、色のキーワードを参照してください。

省略時の動作: 色は自動的に指定されます。詳しくは、色の自動指定を参照してください。

 

構文2: plot([listx,]listy[,color])

指定した複数の座標を結ぶ線分を描画します。線分の色を指定できます。

引数listx、listy: 複数の座標(x1, y1; x2, y2; x3, y3; …)を指定します。

listx、listyの型: list または tuple

listx、listyの各要素の型: int または float

listxを省略した場合は、listx= [0,1,2,3,…]が自動的に割り当てられます。

listx、listyの両方を指定する場合は、要素数を同一にしてください。

引数colorについては、構文1と同様です。

参考

plotで指定した座標に描画される点の形状は、「+」固定です。

axisを指定せずにplotが実行された場合、軸は自動的に調整されます。

パソコン上のPythonで指定可能な「形のキーワード」をcolor引数に入力した場合、エラーにはなりませんが無視されます。color引数に形のキーワードだけを入力した場合は、省略時の動作となります。

bar(,)

棒グラフを描画します。

 

構文1: bar(x,y[,width)

1本の棒グラフを描画します。

引数x: 棒グラフのx座標を指定します。
引数y: 棒グラフの高さを指定します。

xyの型: int または float

引数width: 棒グラフの幅(x軸方向の目盛り幅に相当)を指定します。0を指定すると、幅1ドットで描画されます。

型: int または float

初期値: 0.8(省略時は0.8となります)

 

構文2: bar(listx,listy[,width])

1本または複数本の棒グラフを描画します。

引数listx: 各要素で、棒グラフのx座標を指定します。
引数listy: 各要素で、棒グラフの高さを指定します。

listx、listyの型: list または tuple

listx、listyの各要素の型: int または float

listxとlistyは、要素数を同一にしてください。

引数widthは、構文1と同様です。

参考

axisを指定せずにbarが実行された場合、軸は自動的に調整されます。

barで描画される棒グラフの色は、自動的に指定されます。詳しくは、色の自動指定を参照してください。

scatter(,)

散布図を描画します。

 

構文1: scatter(x,y)

指定した座標に点を描画します。

引数xy: 座標(x, y)を指定します。

xyの型: int または float

 

構文2: scatter(listx,listy)

指定したすべての座標に点を描画することで、散布図を描きます。

引数listx、listy: 複数の座標(x1, y1; x2, y2; x3, y3; …)を指定します。

listx、listyの型: list または tuple

listx、listyの各要素の型: int または float

listxとlistyは、要素数を同一にしてください。

参考

scatterで指定した座標に描画される点の形状は、「+」固定です。

axisを指定せずにscatterが実行された場合、軸は自動的に調整されます。

scatterで描画される点の色は、自動的に指定されます。詳しくは、色の自動指定を参照してください。

hist()

ヒストグラム(横軸が階級、縦軸が度数を表す度数分布図)を描画します。

 

構文1: hist(x[,bins])   または   hist(x,listbins)

データの個数が1(度数=1)のヒストグラムを描画します。

引数x: データ値を入力します。

xの型: int または float

引数bins: ヒストグラムの階級の分割数を、1以上の整数で指定します。

binsの型: int

初期値: 10(省略時は10となります)

指定方法: 例えばbinsを4にしたい場合は、hist(x,bins=4)、または hist(x,4)と記述します。

引数listbins: ヒストグラムの階級の分割点を、複数の数値で指定します。

listbinsの型: list または tuple

listbinsの各要素の型: int または float

例えばhist(1,[0,2,4])と記述すると、階級は0~2と2~4の2区間となります。

 

構文2: hist(listx[,bins])   または   hist(listx,listbins)

複数個のデータによるヒストグラムを描画します。

引数listx: 各要素に対して、データ値を入力します。

listxの型: list または tuple

listxの各要素の型: int または float

引数binsと引数listbinsについては、構文1と同様です。

参考

axisを指定せずにhistが実行された場合、軸は自動的に調整されます。

histで描画されるヒストグラムの色は、自動的に指定されます。詳しくは、色の自動指定を参照してください。

引数listbinsに入力した数値は、自動的に昇順で並べ替えられます。例えば [4,0,2]と入力すると、[0,2,4]として扱われます。

階級の分割点にあるデータ値は、最大値を除き、分割点の上側の階級に含まれます。例えばhist([1,1,2,2,2,3,4,5,7],3)を実行すると、引数binsの指定が3なので階級は1~3、3~5、5~7の3つとなります。分割点にあるデータ値3は3~5の階級に、データ値5は5~7の階級に含まれることになります。ただし最大値である7は、5~7の階級に含まれます。

CY876_Python_Drawing Graphs_1

arrow(,,,)

矢印を描画します。

 

構文: arrow(x,y,dx,dy​[,edgecolor​[,facecolor​[,head_width​[,head_length]]]])

引数x, y: 描画する矢印の始点となる座標(x, y)を指定します。

引数dxdy: 描画する矢印の終点*を指定します。これらの引数への入力値によって、(x+dx, y+dy)が終点の座標となります。

xydxdyの型: int または float

矢印の矢じり部分を含まない、線分の終点です。

引数edgecolor: 矢印の縁線の色を指定します。

引数facecolor: 矢じり面の色を指定します。

edgecolor、facecolorの型: str

edgecolorの初期値: 黒 ; facecolorの初期値: 青(省略時はこれらの色が適用されます)

引数head_width: 矢じりの幅を指定します。

引数head_length: 矢じりの長さを指定します。

head_width、head_lengthの型: int または float

head_widthの初期値: 0.003 ; head_lengthの初期値: head_width × 1.5

head_widthまたはhead_lengthに負の値を指定した場合、その値の絶対値が適用されます。

 

例:  座標(0, 0)を始点、座標(0.5, 0.5)を終点とする矢印を描画する。矢印の縁線を青、矢じり面の色を赤、幅と長さを0.5に指定する。

from matplotlib.pyplot import *

arrow(0,0,0.5,0.5,edgecolor=“blue”,​facecolor=“red”,​head_width=0.5,​head_length=0.5)

show()

 

実行結果は下記のとおりです。

CY876_Python_Drawing Graphs_2 + CY876_Python_Drawing Graphs_2

facecolor

edgecolor

head_width

head_length

参考

edgecolor、facecolor、head_width、head_lengthの各引数を指定する際は、上記の例のとおり、必ず引数を指定する文字列(edgecolor= の部分)を記述する必要があります。各引数を指定する文字列は、C > [matplotlib.pyplot]から入力できます。

色の指定に使うことができるblue、redなどのキーワードについては、色のキーワードを参照してください。

axisを指定せずにarrowを実行しても、軸は自動的には調整されません。矢印が描画画面の外にはみ出す場合は、手動でaxisを指定してください。

text(,,)

指定した座標に文字列を描画します。

 

構文: text(x,y,text)

引数xy: 文字列の左端の座標(x, y)を指定します。

xyの型: int または float

引数text: 文字列を指定します。

引数textの型に、特に制限はありません。" "で括って任意の文字列を入力します。

参考

axisを指定せずにtextを実行しても、軸は自動的には調整されません。文字列が描画画面の外にはみ出す場合は、手動でaxisを指定してください。

textで描画される文字列の色は、黒固定です。

色のキーワード

gridplotarrowで色を指定する引数には、下記のキーワードを使います。

この色を指定するには:

このキーワードを使う:

“b”または“blue”

“r”または“red”

“g”または“green”

マゼンタ

“m”または“magenta”

“k”または“black”

シアン

“c”または“cyan”

黄色

“y”または“yellow”

“w”または“white”

グレー

“grey”

オレンジ

“orange”

“purple”

茶色

“brown”

ピンク

“pink”

参考

色のキーワードは、C > [matplotlib.pyplot]から入力できます。

色の自動指定

plot*barscatterhistのいずれか1つを使ってグラフを1回描画したときの色は、自動的に青が指定されます(plotはcolor引数省略時)。これらの関数を連続して実行してグラフを描画すると、グラフの色は下記の順番で自動的に指定されます。

CY876_Python_Drawing Graphs_3 + CY876_Python_Drawing Graphs_3

マゼンタ

シアン

黄色

showを実行するたびに、自動的に指定される色は青に戻ります。

plot関数では、color引数が省略された場合のみ、色が自動的に指定されます。

 

例:  plotbarを使って、続けてグラフを描画する。plotのcolor引数は省略する。

from matplotlib.pyplot import *

plot([1,1.5,2.5])

plot([0,0.5,0.2])

bar(1,1)

bar([2,3],[2,3])

show()

 

実行結果は下記のとおりです。

CY876_Python_Drawing Graphs_4 + CY876_Python_Drawing Graphs_4

plot([1,1.5,2.5])

plot([0,0.5,0.2])

bar(1,1)

bar([2,3],[2,3])

turtleモジュール

turtleモジュールは、ペンを持った仮想の「タートル(亀)」(turtle)を操作する関数を備えています。タートルに図形やパターンを描かせることができます。

重要!

本機のPythonアプリに搭載されているturtleモジュールは、本機で動作するように作成された、独自のモジュールです。パソコン上のPythonで動作するturtleモジュールとは異なります。

本機のPythonアプリに搭載されているturtleモジュールに含まれる関数は、動作、サポートしている引数、その他仕様が、パソコン上のPythonのturtleモジュールのそれとは異なる場合があります。各関数は、本節に明記されている書式や引数のみに対応しています。

参考

turtleモジュール内の関数を使用するには、あらかじめturtleモジュールをインポートする必要があります。

turtleモジュールをインポートするには
  1. C > [turtle]を選ぶ。

  2. 表示されるメニューから下記を選ぶ。

  3. from turtle import *

    import turtle

 

Pythonアプリでturtleモジュールを使用する際の座標は、下記固定です。
原点: 0, 0
x軸 最小値:-192、最大値:191
y軸 最小値:-95、最大値:96

CY876_Python_turtle Module_1

 

下記の関数のそのまま記述して値が返されるのは、Shellでの実行時のみです。pyファイル内に記述して値を出力させるには、例えばprint(pencolor())のように、print()の中に記述する必要があります。
pencolor()、pensize()、width()、shape()、speed()、isvisible()、isdown()、xcor()、ycor()、position()、distance(,)、towards(,)、heading()

 

本節で示されている各関数の構文中、[ ]で括られている部分は、記述を省略できることを表します。

Pythonアプリのturtleモジュールに含まれる関数は下記のとおりです。

ペンの指定

pendown()

ペンを下ろします(タートルが描画できる状態になります)。

 

構文: pendown()     (引数なし)

ペンを下ろした状態でタートルを移動させると、タートルの現在位置から移動先までの間に線が描画されます。タートルの移動には、向きの指定と前進・後退指定座標への移動の各関数を使います。

 

penup()

ペンを上げます(タートルが描画できない状態になります)。

 

構文: penup()     (引数なし)

ペンを上げた状態では、タートルを移動させても線は描かれません。

 

pencolor()

線の描画色を指定します。または、線の描画色の現在値を返します。

 

構文1: pencolor(colorstring)

引数colorstring: 線の描画色をキーワードで指定します。

型: str

指定方法: pencolor("キーワード")の形で記述します。キーワードとして指定できる文字列は、下記のとおりです。
black、blue、green、red、cyan、yellow、magenta、white、orange、purple、brown、pink、grey

 

構文2: pencolor(list)

引数list: 線の描画色をRGB値で指定します。

型: list または tuple

各要素の型: int または float

指定方法: RGB値を[r,g,b]の形式で記述します(0 ≤ r ≤ 1, 0 ≤ g ≤ 1, 0 ≤ b ≤ 1)。構文1の各キーワードに対応するRGB値は、下表のとおりです。

キーワード

RGB値

black

[0,0,0]

blue

[0,0,1]

green

[0,1,0]

red

[1,0,0]

cyan

[0,1,1]

yellow

[1,1,0]

magenta

[1,0,1]

white

[1,1,1]

orange

[1,0.65,0]

purple

[0.66,0,0.66]

brown

[0.75,0.25,0.25]

pink

[1,0.75,0.8]

grey

[0.66,0.66,0.66]

 

構文3: pencolor()     (引数なし)

現在指定されている線の描画色のRGB値(または、該当する場合はキーワード)を返します。

 

pensize(), width()

線の描画幅を指定します。または、線の描画幅の現在値を返します。

 

構文1: pensize(n)

width(n)

引数n: 線の描画幅を0 ~ 5の間の実数で指定します。数値が大きいほど、描画幅が広くなります。

型: int または float

 

構文2: pensize()     (引数なし)

width()     (引数なし)

線の描画幅の現在値を返します。

向きの指定と前進・後退

right()

タートルの頭の向きを基準として、指定した角度だけ右向きに回転させます。

 

構文: right(a)

引数a: タートルを回転させたい角度を、度数法(0° ≤ a < 360°)で指定します。

型: int または float

 

left()

タートルの頭の向きを基準として、指定した角度だけ左向きに回転させます。

 

構文: left(a)

引数aについては、rightと同様です。

 

setheading()

タートルの頭の向きを、東(右)を0°、北(上)を90°、西(左)を180°、南(下)を270°とする絶対値で指定します。

構文: setheading(a)

CY876_Python_Specifying Direction_1

引数a: タートルの頭の向きを、度数法(0° ≤ a < 360°)で指定します。

型: int または float

 

forward()

タートルを現在の頭の向きに前進させます。頭の向きは変えません。

 

構文: forward(n)

引数n: タートルの移動距離を指定します。

型: int または float

 

backward()

タートルを現在の頭の向きと反対に後退させます。頭の向きは変えません。

 

構文: backward(n)

引数nについては、forwardと同様です。

指定座標への移動

goto(,)

タートルを指定座標に移動させます。頭の向きは変えません。

 

構文: goto(x,y)

引数xy: タートルの移動先の座標(x, y)を指定します。

xyの型: int または float

 

setposition(,)

タートルを指定座標に移動させます。頭の向きは変えません。

 

構文: setposition(x,y)

引数xyについては、gotoと同様です。

 

setx()

タートルの現在のy座標を変えずに、指定したx座標に移動させます。頭の向きは変えません。

 

構文: setx(x)

引数x: タートルの移動先のx座標を指定します。

xの型: int または float

 

sety()

タートルの現在のx座標を変えずに、指定したy座標に移動させます。頭の向きは変えません。

 

構文: sety(y)

引数y: タートルの移動先のy座標を指定します。

yの型: int または float

 

home()

タートルを原点(0,0)に移動させ、頭の向きを初期値(右向き)に戻します。

 

構文: home()     (引数なし)

円と文字の描画

circle()

タートルに円または円弧を描画させます。円または円弧は、タートルの現在位置を始点として、反時計回りに描かれます。右図はタートルの現在位置を(x1, y1)としたときの、下記構文中の引数と描画される円弧の関係を示しています。

CY876_Python_Drawing Circles_1 + CY876_Python_Drawing Circles_1

radius

extent

x1, y1

 

構文: circle(radius[,extent=360])

引数radius: 円の半径を指定します。

型: int または float

引数extent: 弧の角度を度数法で指定します。

型: int または float

指定方法: 例えばextentを180にしたい場合は、circle(radius,extent=180)、または circle(radius,180)と記述します。

初期値: 360(省略時は360となります)

 

write()

タートルの現在位置から、文字列を描画します。

 

構文: write(text)

引数text: 文字列を指定します。

引数textの型に、特に制限はありません。" "で括って任意の文字列を入力します。

状態の指定

shape()

タートルの形を切り替えます。または、現在指定されているタートルの形を返します。タートルの形は、下記の2とおりです。

“classic”

“turtle”

classic

turtle

 

構文1: shape(name)

タートルの形を切り替えます。

引数name: タートルの形をキーワード(classic、turtle)で指定します。

型: str

指定方法: 例えばタートルの形をclassic(矢印)にしたい場合は、shape(name=“classic”)、または shape(“classic”)と記述します。

初期値: “classic”

 

構文2: shape()     (引数なし)

現在指定されているタートルの形を返します。

 

speed()

タートルの描画速度(ペンが下りているときのタートルの移動速度)を指定します。または、現在指定されているタートルの描画速度を返します。

 

構文1: speed(speed)

タートルの描画速度を指定します。引数speedは、実数またはキーワードで指定できます。

実数で指定する場合: 0~10の間で入力します。0が最速で、0以外の場合は数値が大きいほど高速になります。範囲外の数値を入力すると、0が指定されます。

型: int または float

初期値: 5

キーワードで指定する場合: 下表の文字列を使います。

キーワード

実数指定時の該当値

fastest

0

fast

10

normal

6

slow

3

slowest

1

型: str

指定方法: 例えばslowを指定したい場合は、speed(speed=“slow”)、または speed(“slow”)と記述します。

初期値: speed=None

 

構文2: speed()     (引数なし)

現在指定されているタートルの描画速度を実数で返します。

 

showturtle()

描画画面にタートルを表示します。

 

構文: showturtle()     (引数なし)

 

hideturtle()

描画画面からタートルを隠します(非表示にします)。

 

構文: hideturtle()     (引数なし)

状態の取得

isvisible()

タートルの現在の表示状態を返します(表示: True、非表示: False)。

 

構文: isvisible()     (引数なし)

 

isdown()

現在のペンの状態を返します(ペンを下ろしている: True、ペンを上げている: False)。

 

構文: isdown()     (引数なし)

 

xcor()

タートルの現在のx座標を返します。

 

構文: xcor()     (引数なし)

 

ycor()

タートルの現在のy座標を返します。

 

構文: ycor()     (引数なし)

 

position()

タートルの現在位置(x, y座標)を返します。

 

構文: position()     (引数なし)

 

distance(,)

タートルの現在位置から指定した座標までの直線距離を返します。

 

構文: distance(x,y)

引数xy: タートルの現在位置からの直線距離を調べたい座標(x, y)を指定します。

xyの型: int または float

 

towards(,)

タートルの現在位置と指定した座標が作る円弧の角度(下記「参考」を参照)を返します。

 

構文: towards(x,y)

引数xy: タートルの現在位置との角度を調べたい座標(x, y)を指定します。

xyの型: int または float

参考

タートルの現在位置を(x0, y0)、指定座標を(x, y)とするとき、下図の破線で示した円弧の角度が、towards(x,y)によって返されます。

CY876_Python_Get Status_1 + CY876_Python_Get Status_1

towards(x,y)

x,y

x0, y0

x0 < x, y0 < y

CY876_Python_Get Status_2 + CY876_Python_Get Status_2

towards(x,y)

x,y

x0, y0

x < x0, y0 < y

CY876_Python_Get Status_3 + CY876_Python_Get Status_3

towards(x,y)

x,y

x0, y0

x < x0, y < y0

CY876_Python_Get Status_4 + CY876_Python_Get Status_4

towards(x,y)

x,y

x0, y0

x0 < x, y < y0

 

x = x0かつy = y0のとき、towards(x,y)は0を返します。

 

heading()

タートルの現在の向きを返します。タートルの向きについては、setheading()を参照してください。

 

構文: heading()     (引数なし)

タートルのリセット・描画画面のクリア

reset()

描画画面の内容をクリアし、タートルを初期状態に戻します。

 

構文: reset()     (引数なし)

 

タートルの初期状態は、下表のとおりです。

ステータスの種類

初期値

位置

(0,0)

向き

0°(東、右)

(0,0,0)(黒)

ペンの上げ下げ

下りている

ペンの描画幅

1

タートルの描画速度

5

タートルの表示/非表示

表示

タートルの形

“classic”

 

clear()

描画画面の内容をクリアします。タートルの状態は、保持されます。

 

構文: clear()     (引数なし)

casioplotモジュール

casioplotモジュールは、Pythonアプリで点や文字列を描画するための関数を含む、カシオ独自のモジュールです。C > [casioplot]から入力します。casioplotモジュールに含まれる全関数は、下記のとおりです。 関数の構文中、[ ] で括られている部分は省略できます。

show_screen()     (引数なし)

描画ウインドウを表示します。描画ウインドウの表示や内容更新、内容クリアのタイミングなどについて詳しくは、描画ウインドウについてを参照してください。

 

例:  描画ウインドウを表示する

from casioplot import *

show_screen()

CY875_Python_casioplot Module_1

clear_screen()     (引数なし)

描画ウインドウへの描画内容を、すべてクリアします。本関数は、描画内容の有無にかかわらず実行されます。

set_pixel(x,y[,color])

指定した座標に指定した色で点を描画します。

 

引数のxyは、それぞれ描画する点のx座標とy座標を指定します。0 ≤ x ≤ 383、0 ≤ y ≤ 191の範囲で、int型の値のみ指定可能です。座標値と描画ウインドウの位置関係は、下図のとおりです。

CY875_Python_casioplot Module_2

color引数は、描画する点の色を指定します。color引数についてを参照してください。

例:  画面の左上角から右下角に直線を描画し、描画ウインドウを表示する

from casioplot import *

for i in range(192):

set_pixel(i*2,i)

show_screen()

CY875_Python_casioplot Module_3

参考

指定したx座標とy座標のいずれかが範囲外の数値の場合は、無視されます(何も描画されず、エラーも発生しません)。

get_pixel(x,y)

描画ウインドウ上の、指定した座標の色情報を取得します。引数のxyは、それぞれ色情報を取得する点のx座標とy座標を指定します。指定が可能な範囲と型は、set_pixelと同様です。取得した色情報は、256階調のRGB値で返されます。

例:  座標(0,0)の色情報(0,0,0)を返す

from casioplot import *

set_pixel(0,0,(0,0,0))

get_pixel(0,0)

CY875_Python_casioplot Module_4

参考

x座標とy座標のいずれかが範囲外の数値の場合は、何も返されません。

getkey()     (引数なし)

この関数が実行された時点で押されていた本機キーのキーコードを返します。

各キーのキーコードは下記のとおりです。

CY875_Python_casioplot Module_5

例:  押したキーのキーコードを描画ウインドウ左上に表示する。この例では、5を押したままにする。

from casioplot import *

while (True):

key=getkey()

clear_screen()

draw_string(0,0,str(key))

show_screen()

CY875_Python_casioplot Module_6

参考

スクリプトの実行を中断するには、aを押してください。

draw_string(x,y,s[,color[,size]])

指定した座標に指定した色で文字列を描画します。

 

引数x、引数y

それぞれ描画する文字列1文字目左上のx座標とy座標を指定します。指定が可能な範囲と型は、set_pixelと同様です。

引数s

描画する文字列(ASCII文字*のみ表示可能)をstr型で指定します。

color引数

描画する文字列の色を指定します。color引数についてを参照してください。

size引数

描画する文字列の文字サイズを、largemediumsmallのいずれかから指定します。省略した場合は、mediumが適用されます。

A~Z a~z 0~9 ! " # $ % & ’ ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ スペース

例:  座標(0, 0)に文字列abcを色は黒、サイズはlargeで描画し、描画ウインドウを表示する

from casioplot import *

draw_string(0,0,”abc”,(0,0,0),”large”)

show_screen()

CY875_Python_casioplot Module_7

参考

指定したx座標とy座標がいずれも範囲内の数値の場合は、描画される文字列の一部が描画ウインドウからはみ出しても、描画ウインドウの範囲内までは表示されます。指定したx座標とy座標のいずれかが範囲外の数値の場合は、無視されます(何も描画されず、エラーも発生しません)。

color引数について

color引数には、描画色を256階調のRGB値で指定します。例えば黒を指定するには(0,0,0)または[0,0,0]、白を指定するには(255,255,255)または[255,255,255]と入力します。入力を省略した場合は、(0,0,0)が適用されます。なお液晶表示の性能上、実際に表示される色は指定値の近似色となる場合があります。

描画ウインドウについて

描画ウインドウはshow_screenが実行されると表示されます。set_pixeldraw_stringによる描画内容は、描画ウインドウに表示されます。

描画ウインドウの更新とクリアについて

描画ウインドウはshow_screenが実行されるたびに更新され、clear_screenが実行されるかShellが初期化されるとクリアされます。またpyスクリプトの実行が終了したとき、表示中の描画ウインドウは更新されます。

 

描画ウインドウからShellに戻るには、bを押します。

ファイルの互換性について

本機とパソコンの間で、pyファイルを相互に転送可能です。本機で作成したpyファイルをパソコンに転送し、パソコン上のテキストエディタなどで編集したり、パソコン上で作成したpyファイルを本機に転送して実行したりできます。

Pythonアプリで作成したpyファイルは、本機の保存メモリーに保存されます(拡張子“py”)。本機とパソコンの間でファイルを転送する操作については、本機とパソコンを接続するを参照してください。

本機で作成・保存したpyファイルについて

本機で作成・保存したpyファイルのフォーマットは、次のとおりです。

文字コード:

ASCIIコード

使用文字:

ASCII文字*

改行コード:

CR+LF

インデント:

スペース(自動インデントはスペース2つ)

A~Z a~z 0~9 ! " # $ % & ’ ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ スペース

外部で作成したpyファイルを本機で使用する場合の注意点

パソコンから本機に転送したpyファイルを、本機のPythonアプリで表示、編集、または実行する場合、下記の制約があります。

ファイル名

本機はASCII文字*のファイル名だけを認識します。ASCII文字以外がファイル名に含まれていた場合、そのファイルは認識しません。

下記のASCII文字を除く
\ / : * ? " < > | .

パソコンから保存メモリーに転送した名前が9文字以上のpyファイルは、本機では8文字に短縮表示されます (例:AAAABBBBCC.pyは、AAAABB~1.pyとなります)。

内容の表示と編集

下記(A)、(B)の条件に当てはまるpyファイルは、Pythonアプリで開いたときに、すべての内容が正常に表示されます。内容が正常に表示されたpyファイルは、Pythonアプリで編集可能です。

  1. ASCII文字のみで記述され、UTF-8などASCII互換の文字コードで保存されたpyファイル。

  2. ASCII非互換の文字コードで保存されたpyファイルは、Pythonアプリで開いても、一切内容を表示できません (すべての文字がスペースに置き換わるか、文字化けが発生します)。

  3. 255文字×300行以内のpyファイル。

  4. 上記の文字数/行数を超えるpyファイルは、Pythonアプリでは内容を表示できません。開くことができないファイルは、下記のコマンドでインポートしてください。
       from (ファイル名) import *

    pyファイル上のタブコードは、Pythonアプリで開くと同時に、すべてスペース2つに置換されます。

    改行コードの種類(LF、CR、CR+LF)は、Pythonアプリでの内容表示には影響しません。ただし、pyファイルをPythonアプリで開くと同時に、すべての改行コードはCR+LF(Windows標準の改行コード)に変換されます。Pythonアプリで編集・保存したpyファイルをパソコンに転送して使用する場合は、使用する環境に合わせて改行コードの置換を実施してください。

pyファイルの実行

T > [File] > [Open]を選んだときにファイル一覧に表示されるpyファイルは、Pythonアプリで実行できる可能性があります。下記の点にご留意ください。

実行したpyファイル内に、本機のPythonアプリが対応していないコマンドが含まれている場合、エラーとなります。

外部で作成したpyファイルをPythonアプリで開くと、文字や改行コードなどの置換が行われます。このため、pyファイルをPythonアプリでいったん開き、保存してから実行した場合、元のpyファイルと内容が変わり、その変更が実行結果に影響することがあります。詳しくは、内容の表示と編集を参照してください。