"""
[과제] 꽃 한 송이 그리기

- 매개변수 여러 개 + 기본값
- return으로 값을 계산해서 돌려주기
- 여러 함수를 조합해서 하나의 그림 완성하기

"""

import turtle

# ===========================================================
# 문제 1. 매개변수 여러 개 + 기본값
# 꽃잎 하나를 그리는 함수 draw_petal(size, color='pink') 를 완성하세요.
#   size  : 꽃잎의 크기
#   color : 꽃잎 색깔 (기본값 'pink')
#
# 힌트: 아래 동작을 2번 반복하면 마름모 모양의 꽃잎이 그려지고,
#       제자리(시작 위치·방향)로 정확히 돌아옵니다.
#       forward(size) -> left(45) -> forward(size) -> left(135)
# ===========================================================
def draw_petal(size, color='pink'):
    t.color(color)
    t.begin_fill()
    # TODO: 꽃잎 모양을 그리는 코드를 작성하세요. (힌트 참고, for문 사용)

    t.end_fill()


# ===========================================================
# 문제 2. return 활용
# 꽃잎 n장을 빙 둘러 그리려면, 꽃잎 하나를 그릴 때마다
# 몇 도씩 회전해야 하는지 계산해서 return 하는 함수
# get_angle(n) 을 완성하세요.
# 힌트: 꽃잎 n장이 360도를 나누어 가집니다.
# ===========================================================
def get_angle(n):
    # TODO: 회전각을 계산해서 return 하세요.
    pass


# ===========================================================
# 도전 과제. 함수 조합으로 "하나의 그림" 완성하기
# draw_petal() 과 get_angle() 을 조합해서, 제자리에서 회전하며
# 꽃잎 n장을 그리는 함수 draw_flower(n, size, color='pink') 를 완성하세요.
# ===========================================================
def draw_flower(n, size, color='pink'):
    angle = get_angle(n)
    for _ in range(n):
        # TODO: 꽃잎을 한 장 그리고, angle만큼 회전하는 코드를 작성하세요.
        pass


# ===========================================================
# 아래는 이미 완성된 코드로, 수정하지 않아도 됩니다.
# 위의 함수 3개(draw_petal, get_angle, draw_flower)를 완성하면
# 화면 중앙에 꽃 한 송이가 완성됩니다.
# ===========================================================
s = turtle.Screen()
s.setup(680, 800, startx=-20, starty=20)
t = turtle.Turtle()
t.speed(3)

n = int(input('꽃잎 개수 입력: '))
color = input('꽃잎 색상 입력: ')

t.penup()
t.goto(0, 0)
t.pendown()

draw_flower(n, 60, color)

s.mainloop()