見出し画像

Pythonプログラミング - Colabでお絵描き 4

ちょっと複雑な絵を描こうと思うときには、以下のように同じコードを何回も書かないといけない場合が出てきます。

以下実行すると

from typing import ForwardRef
initializeTurtle()   
speed(10)
for i in range(20):  
    forward((i) * 2)
    right(72)

up()
goto(400,350)
down()
for i in range(20):  
    forward((i) * 2)
    right(72)

up()
goto(250,350)
down()
for i in range(20):  
    forward((i) * 2)
    right(72)

up()
goto(250,250)
down()
for i in range(20):  
    forward((i) * 2)
    right(72)


同じ絵を場所を変えて書いています。

同じコードを4回書いて実行しています。これを少し簡単にするために

for i in range(20):  
    forward((i) * 2)
    right(72)

を関数にしてみます。方法は

 関数には名前をつける必要があります。そして関数ですよという宣言時に必ず書く接頭語も必要になります。

接頭語は"def"を使います。例えば名前を"fiveK"とする場合は

def fiveK():

となります。これで関数"fiveK"を宣言することができます。それでは一つの図形を描くコードは

def fiveK():
    for i in range(20):  
       forward((i) * 2)
       right(72)

となります。

これを実行するためには

fiveK()

とすれば実行できます。

この関数を使って

initializeTurtle()   
speed(10)
fiveK()

up()
goto(400,350)
down()
fiveK()

up()
goto(250,350)
down()
fiveK()

up()
goto(250,250)
down()
fiveK()


これを見ればもう少し同じものがあります。

 up()
 goto(250,250)
 down()

が同じです。これも関数に入れ込みたいと思います。

数字を指定する方法を考えます。これは関数の引数というものを使って指定することができます。

def fiveK(x,y):
    up()
    goto(x,y)
    down()
    for i in range(20):  
       forward((i) * 2)
       right(72)

fiveK(x,y) ・・・ x、y  が引数

使い方は

initializeTurtle()   

def fiveK(x,y):
    up()
    goto(x,y)
    down()
    for i in range(20):  
       forward((i) * 2)
       right(72)

fiveK(400,350)

これで実行できるようになります。

fiveK(400,350)

が関数で引数を使った実行の方法です。

これをもとのコードに取り入れます。

initializeTurtle()   
speed(10)

for i in range(20):  
    forward((i) * 2)
    right(72)


fiveK(400,350)

fiveK(250,350)

fiveK(250,250)

これで最初のコードと同じことができるようになりました。随分簡単になりました。


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