見出し画像

おきがる!タートルグラフィックス - Colab 2

前へ進んで右へ90度曲がる。以下のコードで四角がかけます。

forward(100)
right(90)
forward(100)
right(90)
forward(100)
right(90)
forward(100)
right(90)

コードを少しみてみるとforward(100)が4回、right(90)を4回使っています。

プログラミングは繰り返しが得意なので、コードをもっと少なく単純にできそうです。

同じ操作、繰り返し作業は""for in"が使えそうです。今のコードを入れ込んでみます。

for i in range(4):
  forward(100)
  right(90)

この場合だと以下の命令を"range(4)"で4回繰り返しなさいという命令になります。

forward(100)
right(90)

forward(100)とright(90)の前にスペースが空いています。この空白(インデント)がPythonでは必要、大切です。

pythonでコードを書くときの注意点で、知らないとエラーが出て困ることもあります。以下のサイトがわかりやすいと思います。


 この繰り返し方がわかると繰り返しの回数と、角度を変えていろんな図形が簡単にできることがわかります。

いろんな値を入れて試したときに便利なのが"変数"です。例えば作りたい多角形の角数を代表して"kakusu"、角度を"kakudo"としてやりこれをコードの中に埋め込みます。

for i in range(kakusu):
  forward(100)
  right(kakudo)

あとは別のところでその変数の値を変えていけばうまく欲しい多角形ができます。

例えば6角形が描きたい場合は、変数に"="を使って数字を代入を実行し、

kakusu = 6
kakudo = 60

多角形を描くコードを実行します。

for i in range(kakusu):
  forward(100)
  right(kakudo)

実行結果は

となります。

もっと簡単にすることもできます。多角形の角度は計算で求めることができるので

for i in range(kakusu):
  forward(100)
  right(360/kakusu)

right(360/kakusu) ・・・ 計算で角度を求めます

とすれば画数のみ決めてやれば自動で計算して多角形を描くことができます。

さらにわかりやすくする方法があり、"関数"と呼ばれるものがあります。関数は特別な名前をつけることができ、変数に入れる数字も指定できて、とっても便利です。例えば今作っているコードを関数にすると

def takukei(kakusu):
    for i in range(kakusu):
        forward(100)
        right(360/kakusu)

使うときは

takukei(6)

のように()内に数字を指定してやればその角数の多角形を作ることができます。

関数の頭に"def"をつけて関数名をつけて関数であることを宣言します。そして繰り返し使いたいものを改行して入れてやります。

あとは指定したい数字などがあれば関数名の後の()の中に変数名(関数では引数と呼びます)を入れます。

takukei(kakusu)

この場合も注意点はインデント(文字の頭の空白)を忘れずに入れることです。


画数を"7"にして実行すると

takukei(7)

7角形ができました。

この記事が気に入ったらサポートをしてみませんか?