본문 바로가기
프로그램

[파이썬] 문제: (turtle) 1~4사분면에 다른 색으로 클릭시 원 그리기

by 오디세이99 2023. 11. 5.
728x90
반응형

 

<조건1> 터틀 그래픽을 이용하여 onscreen click() 함수를 이용하여 마우스 왼쪽 버튼을 클릭하면 반지름이 30 픽셀인 circle을 색상을 다르게하여 그린다.

<조건2> 클릭할 때 커서의 위치가 

1사분면에 있으면 red,

2사분면에 있으면 blue,

3사분면에 있으면 green,

4사분면에 있으면 purple

 circle을 그리고 외에는 yellow색의 circle을 그린다.

 

import turtle

turtle.setup (width=600, height=400)     # 화면 크기
turtle.hideturtle()                       # 터틀 숨기기

def draw_circle(x, y):
    # Set the color based on the quadrant
    if x > 0 and y > 0:
        color = 'red'       # 1사 분면
    elif x < 0 and y > 0:
        color = 'blue'      # 2사 분면
    elif x < 0 and y < 0:
        color = 'green'     # 3사 분면
    elif x > 0 and y < 0:
        color = 'purple'    # 4사 분면
    else:
        color = 'yellow'
    
    turtle.penup()         # 이동을 위해 펜 들기
    turtle.goto(x, y)      # 이동
    turtle.pendown()       # 그리기 위해 펜 내리기
    turtle.color(color)    # 색 지정
    turtle.begin_fill()    # 채우기 시작
    turtle.circle(30)      # 원 그리기
    turtle.end_fill()      # 채우기 종료

screen = turtle.Screen()
turtle.speed(0)             # 그리기 속도. 가장 빠르게

screen.onclick(draw_circle) # 클릭 이벤트시 draw_circle()함수 실행

screen.mainloop()

turtle.done()

728x90
반응형

댓글