21.5 연습문제: 오각별 그리기

다음 소스 코드를 완성하여 오각별이 그려지게 만드세요.

  • 각 변의 길이는 100
  • 별의 꼭지점은 72도를 두 번 회전해서 144도 회전
  • 별의 다음 꼭지점을 그릴 때는 72도 회전
그림 21-13 오각별에서 각 변의 길이와 각도

practice_pentagram.py

import turtle as t
 
n = 5
t.shape('turtle')
for i in range(n):
                          
                          
                          
                          
그림 21-14 오각별 실행 결과

정답

    t.forward(100)
    t.right((360 / n) * 2)
    t.forward(100)
    t.left(360 / n)

해설

오각형을 그릴 때는 72도(360 / 5)를 회전합니다. 이때 별의 꼭지점은 72도를 한 번 더 회전해서 144도입니다. 따라서 t.forward(100)으로 선을 한 번 그리고 t.right((360 / n) * 2)으로 오른쪽으로 144도 회전한 뒤 t.forward(100)으로 선을 그립니다.

그리고 별의 꼭지점을 그린 뒤 다음 꼭지점을 그릴 때는 t.left(360 / n)으로 왼쪽으로 72도 회전합니다. 이렇게 5번 반복하면 오각별을 그릴 수 있습니다.

그림 21-15 오각별 그리기