Python「正多角形」プロジェクト

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つ目の質問を作成するとしたら、どんな質問を追加しますか?
    • 図形の面積を求める。
    • 図形の形を表示する。
    • 図形を何個描きたいかを聞き、その分の図形を続けて描く。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: