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

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

pythonのタートルで亀さんを動かしてお絵かき☆結果&感想

前回の続き

使用したもの パイソンのタートルモジュール

できるようになったこと

f:id:kabutoga2:20190727192551j:plain

これらの図形をタートルモジュールを使って描けるようになった。図形じゃないのもチラホラ混じってるけどそこはスルーよろ^^;

 

【タートルの学習を終えた感想】

私は、この亀を使った学習を連続2週間位していて、今現在は、亀で描かれた上のような図形を見ても「しょぼい(-_-)」としか感じないのだが、一番最初にタートルモジュールの「 turtle.Pen() 」を入力してキャンバスを出現させた後、「 forward() 」で線を描いた時は非常に感動した。

 

pythonで数字や英語以外を扱った初めての瞬間だったし、描かれた黒い線を見てワクワクした。この亀を使った学習でも私は沢山のエラーを出した。その中で初めてパイソンシェルの利便性を感じた。プログラミングの学習を始めてもう半年ほど経つが、私はパイソンシェルの使い方が未だによく分からない。パイソンシェルでエラーを出した時、次はどこからコードを入力すればよいのか分からないのだ。

 

スーパーマリオのゲームで例えると、マリオが面の途中で死んだ時さ、面の途中から始まる場合と、面の最初から開始するバージョンあるじゃん? セーブされてる時とセーブ無しの時っていうのかな。んで、パイソンシェルでプログラミングしてると、エラーが出ずにどんどん進んでる時はいいんだけど、エラーを出した時、混乱するんだよね。こいつ(パイソンシェル)は今まで打ったコードのどこまでを記憶してくれてるんだろうか、と。今出したたった一回のエラーでこれまで入力したコードの全てがなかったことになるのだろうか…的な。パイソンシェルはエラーを出した時、どこまでを「あったこと」にしてくれてるのか分からないから私はパイソンシェルが嫌いだった。

 

でもこの亀を使った学習ではパイソンシェルは大活躍してくれた。すぐに結果がキャンバスに反映されるので非常に使い勝手が良かった!タートルモジュールとパイソンシェルは学習の内容的に相性が良いのだろう。私がパイソンシェル嫌いから脱却する助けとなった。亀さんに感謝(^v^)

 

ちなみにパイソンシェルでエラーを出した時はわざわざ import turtle から入力し直していた。モジュールのインポートから何度もやり直していたことになる。この行為は無駄だった。import turtle と打ち直さずとも普通に進行できたからだ。これの派生として、インポートタートルを入力し直した後、ご丁寧に「亀 = turtle.Pen() 」とも入力していた。パイソンシェルでエラーを出したら、変数亀に割り当てられている情報ごと消えるのだと思ったからだ。


・・ここまで書いて実際どうなのか気になったから実験してみた^^

 

>>> import turtle
>>> 亀 = turtle.Pen()
>>> 亀.forward(100)
>>> 亀.backward(70)
>>> わざとエラーをだす
>
NameError: name 'わざとエラーをだす' is not defined
>>> 亀.forward(120)

 

エラーを出した後、そのまま亀.forward(120)を入力した。結果、無事実行できて亀は120ピクセル前進した。なので、パイソンシェルでエラーを出した場合、一からモジュールをインポートする必要はない。変数を改めて定義する必要もない。少なくともこのturtleモジュールに関しては(^v^)

 

☆.。.:*・☆.。.:*・☆.。.:*・

超初歩的な注意

(1) import turtle
(2) 亀 = turtle.Pen
(3) 亀 = turtle.Pen() ので()を加えて打ち直す

 

2なんだけど、これ注意ね。()がないとキャンバスは出てこないよ。私はこの()を忘れたことによるエラーを何度も出した。

 

ここまでで、おそらく千文字以上書いているので、今回はこの辺で力尽きる。私の頭と執筆力がないせいでupやdownといった機能に触れられないのが悔しい。とはいえupやdownに関してはその前の記事で解説してるから興味ある人はネットで検索しつつ私の記事の正誤も確認してくれると嬉しい。

 

じゃあまたね!(^^)/

 

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