5. 角度を求める
「辺の長さが全て等しく,角の大きさも全て等しい」という正多角形は、「辺の数」と「回す角度」の間にルールがかくされているので、そのルールが分かれば、正五角形でも、正百角形でも、どんな正多角形でも描ける様になります。
そのルールとは。。。
「辺の数」と「回す角度(外角)」をかけ算すると、必ず360度になるということですね。
表にまとめるとこうなります。

- 正三角形は辺の数「3」x回す角度「120」= 360
- 正方形は辺の数「4」x 回す角度「90」= 360
- 正六角形は辺の数「6」x回す角度「60」=360
だから。。。?の部分を求めるには、
回す角度「?」=360 / 辺の数「5」
したがって、?は、72度とわかります。
なので、s = 360 / side と置き換えて、プログラムに書けば、いつでも角度が求められますね。
最後に、16行目のfor ループの中の tina.left(90) の 90を s に直しておきましょう。


全部のコード:今回学習したコードをまとめました。
import turtle
print('亀が図形を描きます。')
side = input('何角形の図形を描きますか?(半角数字を入力してエンターを押して下さい。)')
side = int(side)
pixel = input('一辺の長さは何ピクセルにしますか?(半角数字を入力してエンターを押して下さい。)')
pixel = int(pixel)
tina = turtle.Turtle()
tina.shape('turtle')
s = 360 / side
def findShape():
for v in range(side):
tina.forward(pixel)
tina.left(s)
findShape()
応用編:チャレンジ
- 3つ目の質問を作成するとしたら、どんな質問を追加しますか?
- 図形の面積を求める。
- 図形の形を表示する。
- 図形を何個描きたいかを聞き、その分の図形を続けて描く。