Language/Python

[ Python ] 클릭하는 곳에 사각형 그리기 프로그램

곽수진 2021. 9. 1. 23:19
반응형
사용자가 마우스 버튼을 클릭하면 그 위치에 정사각형을 그리는 프로그램을 작성해보자.

 

import turtle
t=turtle.Turtle()
t.shape('turtle')

def square(length):
    for i in range(4):
        t.forward(length)
        t.left(90)

def drawit(x, y):
    t.penup()
    t.goto(x, y)
    t.pendown()
    t.begin_fill()
    t.color('green')
    square(50)
    t.end_fill()

s = turtle.Screen()
s.onscreenclick(drawit)

▶️ square() 사용자 정의 함수를 생성해 왼쪽으로 90도씩 length만큼 앞으로 이동하며 4번 반복해 사각형을 그림

def square(length):
    for i in range(4):
        t.forward(length)
        t.left(90)

▶️ drawit() 사용자 정의 함수를 생성해 x,y 좌표로 이동해 녹색을 채우며 한 변의 길이가 50인 사각형을 그림

def drawit(x, y):
    t.penup()
    t.goto(x, y)
    t.pendown()
    t.begin_fill()
    t.color('green')
    square(50)
    t.end_fill()

▶️ s.onscreenclick(drawit) : 사용자가 마우스를 클릭하는 곳에 drawit 함수에 저장된 그림을 그림

 

결과값 출력 모습

 

 

 


 

 

 

사용자에게 색상과 한 변의 길이, 몇 각형으로 그릴 것인지까지 입력 받아 그림을 그리는 프로그램을 작성해보자.

단, 0을 입력하면 원을 그림

 

import turtle
t=turtle.Turtle()
t.shape('turtle')

def shape(length, n):
    for i in range(n):
        t.forward(length)
        t.left(360/n)
    if n == 0:
        t.circle(length)

n = int(input('몇각형으로 그릴까요? '))
c = input('무슨 색으로 그릴까요? ')
length = int(input('한 변의 길이는? '))

def drawit(x, y):
    t.penup()
    t.goto(x, y)
    t.pendown()
    t.begin_fill()
    t.color(c)
    shape(length, n)
    t.end_fill()

s = turtle.Screen()
s.onscreenclick(drawit)

 

 

 

반응형