본문 바로가기
C++ 200제/코딩 IT 정보

파이썬 gui 터틀 그리기 예제, 별 삼각형 사각형 star triangle

by vicddory 2019. 6. 5.

파이썬 gui 예제 3개 소개합니다. Python 거북이(turtle)로 그림 그리는 소스이며 아래와 같습니다.


  1. 별 그리기
  2. 삼각형 그리기
  3. 사각형 4개 붙여서 그리기


실행하면 아래와 같이 원하는 지점에 별을 여러 개 그릴 수 있습니다.



파이썬 거북이 그림그리기 소스 3개 (별 삼각형 사각형 star triangle farm)[디자인 프로그래밍 강좌]



전체 gui 소스는 아래와 같으며 우선 별 그리는 파이썬 소스를 먼저 소개합니다.



◆ 파이썬 거북이(turtle)로 별 그리기 전체 소스


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#-*- coding: utf-8 -*-
 
import turtle
import random
 
def star(t):
    t.left(36)
    for i in range(5):
        t.forward(200)
        t.left(144)
 
def onPress():
    r = random.randrange(256)
    g = random.randrange(256)
    b = random.randrange(256)
 
    color = '#{:02x}{:02x}{:02x}'.format(r,g,b)
    scr.bgcolor(color)
    print('color :', color)
 
def onClick(x, y):
    t.penup()
    t.goto(x, y)
    t.pendown()
 
    star(t)
 
= turtle.Turtle()
t.shape('turtle')
 
scr = turtle.Screen()
scr.bgcolor('#ff7f00')
 
scr.onclick(onClick)
scr.onkey(onPress, 'c')
scr.onkey(scr.bye, 'q')
 
scr.listen()
scr.mainloop()
cs



6번 라인이 별 그리는 gui 소스입니다.

12번 라인 onPress 함수는 배경 화면 색상을 랜덤하게 변경합니다.

21번 라인 onClick 함수를 통해 별 그리기 좌표를 생성합니다.


31번 라인 turtle.Scrren 변수를 생성하여 32번 라인에서 배경 화면을 설정합니다.


34번 라인, 마우스 클릭 이벤트로 onClick 함수를 설정합니다.

35번 라인, 키보드 입력 이벤트로 onPress 함수를 설정합니다. 키보드 c 누르면 배경 화면이 바뀝니다.

36번 라인, 파이썬 거북이(터틀) 종료 이벤트를 설정합니다. 키보드 q 누르면 프로그램 종료됩니다.



■ 결과


파이썬 거북이 gui 예제[디자인 프로그래밍 강좌]



위 gif 처럼 키보드를 누르면 python 거북이(터틀)가 움직이며 별을 그립니다.


별을 그릴 때, 키보드 c 누르면 gui 배경화면이 바뀝니다.



파이썬 거북이 삼각형[디자인 프로그래밍 강좌]



위는 마우스로 화면 아무 곳을 찍고 키보드 c 키를 연타했을 경우입니다.

◆ Python Turtle 삼각형 그리기

gui 전체 소스 26번 라인에서 호출하는 함수를 아래 triangle 함수로 교체하면 삼각형 그림 그릴 수 있습니다.


1
2
3
4
5
6
def triangle(t):
    t.forward(200)
    t.left(120)
    t.forward(200)
    t.left(120)
    t.forward(200)
cs



■ 결과


파이썬 거북이 사각형 그리기[디자인 프로그래밍 강좌]


◆ 파이썬 거북이(터틀)로 사각형 4개 붙여 그리기

사각형 4개를 그리는데 모두 이어 붙이도록 합니다.


1
2
3
4
5
6
def farm(t):
    for i in range(4):
        for j in range(4):
            t.forward(200)
            t.left(90)
        t.left(90)
cs



■ 결과


파이썬 거북이 그림그리기 소스 3개 (별 삼각형 사각형 star triangle farm)[디자인 프로그래밍 강좌]



파이썬 gui. 삼각형 그리기 함수와 마찬가지로 전체 소스 26번 라인에서 호출하는 함수를 위 farm으로 교체하면 됩니다.


이상 Python gui 예제 3개였습니다. 그리는 예제 소스 자체는 이해하기 어렵지 않으니 쉽게 응용할 수 있으실 겁니다.



관련 글


파이썬 컴프리헨션 예제 8개 for if dict zip map


파이썬 print 재귀함수, 반복 출력, 문자열 거꾸로 뒤집기


파이썬 정렬 sort sorted reverse=true 예제 4개



ⓒ written by vicddory

댓글