高齢ニート独女がプログラミングに挑戦したらどうなるか

高齢ニート独女である自分を使い様々な実験をする。その記録。雑記が増えてきたら無理やりpythonネタをひねり出しバランスを取っている

pythonパイソンのturtleタートルモジュールで三角形や四角形、平行な線を描く【機能まとめ】

 前回の授業はこちら

☆タートルモジュールで使う主な機能☆

forward(前進), backward(後退), left(左方向に回転), right(右方向に回転), up(ペンの色が無色になる。主に移動で使う),  down(upの後に使う。再びペンの色を出す)

 

f:id:kabutoga2:20190725111056j:plain

 

前回までで、forwardを使って亀を進ませたり、leftやrightで亀の向いてる方向を変えることができるようになった。

 

では亀を後退させるにはどうしたらいいか?

backwardという機能を使います♪

この機能を使うことで、亀の足跡を残さず移動できるようになるよ!

 

1 import turtle
2 亀 = turtle.Pen()

3 亀.forward(50)

【1,2,3でやってること】

1タートルモジュールをインポートして

2ペン機能でキャンバスを呼び出す

3 forward(50)で亀が50ピクセル前進する

f:id:kabutoga2:20190720134454j:plain


4 亀.backward(30) で亀が下のように30ピクセル後退した

f:id:kabutoga2:20190722142647j:plain

ここで注意して欲しいのは、backward は「後退」であって「戻る」とは違うってこと。

今キャンバスで描かれてるものをresetで全消しして、亀を50ピクセル前進させ、左方向に90度向きを変えたあとで更に亀を60ピクセル前進させた

 

>>> 亀.forward(50)
>>> 亀.reset() #キャンバスを真っ白にした
>>> 亀.forward(50)
>>> 亀.left(90)
>>> 亀.forward(60)

f:id:kabutoga2:20190722145246j:plain

>>> 亀.backward(70) 上で60ピクセル前進した亀を今度は70ピクセル後退させると…

f:id:kabutoga2:20190722145654j:plain

こうなる。

本当にただ後ろに下がるだけ。

backwardという機能を知った時、( )の中にいれた数字のピクセル分だけ亀が「元来た道を戻る」と解釈した私は甘かった。

別の例も出す。

f:id:kabutoga2:20190720151720j:plain

亀.forward(50)
亀.left(90)
亀.forward(60)
亀.left(90)
亀.forward(50)
亀.left(90)
☆ 亀.forward(60)
亀.backward(80)

☆の亀.forward(60)で四角を描き終えた後、backward(80)で後退させるとこうなる

f:id:kabutoga2:20190722160508j:plain

やっぱり、直線的に後退してる「だけ」なんだなあ~

しつこく言うけど「戻る」ではないよ?

 

up と down という機能もある☆

upとdownを使うことで亀の足跡を残さずに歩かせることができるよ。例えばこんな風に…

 

>>> 亀.right(90)
>>> 亀.forward(100)
>>> 亀.right(90)
>>> 亀.up()
>>> 亀.forward(20)
>>> 亀.right(90)
>>> 亀.down()
>>> 亀.forward(100)

f:id:kabutoga2:20190722173821j:plain

up機能はシャーペンの芯を引っ込める行為で、downはシャーペンのノックボタンを押して芯を出す行為と同じだよ。芯を引っ込めてる状態でどんなに紙にペン先を沿わせても何も描けないよね?だからup機能を使った後でまだ何か描きたい時はdown機能を使ってね☆ 

 

【他の図形も描いてみよう】

三角形を描く

import turtle
亀 = turtle.Pen()

亀.forward(100)
亀.left(120)
亀.forward(100)
亀.left(120)
亀.forward(100)

f:id:kabutoga2:20190723145329j:plain

三角が綺麗に閉じられてるかup機能を使って確認
亀.up()
亀.forward(20)

f:id:kabutoga2:20190723145832j:plain

ちゃんと閉じてる!

f:id:kabutoga2:20190725115053j:plain

どうぞ♪

お疲れ様でした(^^)

 

プライバシーポリシー お問い合わせ