중고생을 위한 경성 프로그래밍 교육(파이썬 프로그래밍) - 1.프로그래밍 기초
다양한 도형 그리기
파이썬의 turtle 모듈은 펜을 움직이고, 펜의 크기를 설정하고, 펜을 들어올리고 내려놓기 위한 메소드를 포함한다.
circle 메소드를 이용하여 삼각형, 사각형, 오각형, 육각형 및 원을 그리는 예제 코드를 살펴보자.
import turtle
turtle.pensize(3) #펜의 두께를 3픽셀로 저장한다.
turtle.penup() # 펜을 들어올린다.
turtle.goto(-200, -50)
turtle.pendown() # 펜을 내려놓는다.
turtle.circle(40, steps = 3) # 삼각형을 그린다.
turtle.penup()
turtle.goto(-100, -50)
turtle.pendown()
turtle.circle(40, steps = 4) # 사각형을 그린다.
turtle.penup()
turtle.goto(0, -50)
turtle.pendown()
turtle.circle(40, steps = 5) # 오각형을 그린다.
turtle.penup()
turtle.goto(100, -50)
turtle.pendown()
turtle.circle(40, steps = 6) # 육각형을 그린다.
turtle.penup()
turtle.goto(200, -50)
turtle.pendown()
turtle.circle(40) # 원을 그린다.
turtle.done()
Turtle의 펜 그리기 상태 메소드
메소드 명 |
설명 |
turtle.pendown() |
펜을 내려놓는다 - 움직일 때 그려진다 |
turtle.penup() |
펜을 들어올린다 - 움직일 때 그려지지 않는다. |
turtle.pensize() |
선의 두께를 특정 폭으로 설정한다. |
Turtle의 이동 메소드
메소드 명 |
설명 |
turtle.forward(d) |
turtle이 향하고 있는 방향으로 특정 거리 d만큼 앞으로 이동시킨다. |
turtle.backward(d) |
turtle이 향하고 있는 반대 방향으로 특정 거리 d만큼 뒤로 이동 시킨다. turtle의 방향은 바뀌지 않는다. |
turtle.right(angle) |
turtle을 특정 각만큼 오른쪽으로 회전시킨다. |
turtle.left(angle) |
turtle을 특정 각만큼 왼쪽으로 회전시킨다. |
turtle.goto(x, y) |
turtle을 절대 위치 (x, y)로 옮긴다. |
turtle.setx(x) |
turtle의 x좌표를 특정 위치로 옮긴다. |
turtle.sety(y) |
turtle의 y좌표를 특정 위치로 옮긴다. |
turtle.setheading(angle) |
특정 각도로 turtle의 방향을 설정한다. 0-동쪽, 90-북쪽, 180-서쪽, 270-남쪽 |
turtle.home |
turtle을 원점 (0,0)으로 옮기고 동쪽 방향으로 설정한다. |
turtle.circle(r, ext, steps) |
특정 반지름 r, 경계 ext와 단계 step인 원을 그린다. |
turtle.dot(diameter, color) |
특정 지름 diameter와 색상 color인 원을 그린다. |
turtle.undo() |
turtle의 마지막 명령을 (반복적으로) 되돌린다. |
turtle.speed(s) |
1부터 10사이의 정수(10이 최대) s로 turtle의 속도를 설정한다. |
색 및 폰트 지정하기
turtle 객체는 색상과 폰트를 설정하기 위한 메소드를 포함한다.import turtle
turtle.pensize(3) #펜의 두께를 3픽셀로 저장한다.
turtle.penup() # 펜을 들어올린다.
turtle.goto(-200, -50)
turtle.pendown() # 펜을 내려놓는다.
turtle.begin_fill() # 도형을 색상으로 채우기 시작한다.
turtle.color("red")
turtle.circle(40, steps = 3) # 삼각형을 그린다.
turtle.end_fill() # 도형을 색상으로 채운다.
turtle.penup()
turtle.goto(-100, -50)
turtle.pendown()
turtle.begin_fill()
turtle.color("blue")
turtle.circle(40, steps = 4) # 사각형을 그린다.
turtle.end_fill()
turtle.penup()
turtle.goto(0, -50)
turtle.pendown()
turtle.begin_fill()
turtle.color("green")
turtle.circle(40, steps = 5) # 오각형을 그린다.
turtle.end_fill()
turtle.penup()
turtle.goto(100, -50)
turtle.pendown()
turtle.begin_fill()
turtle.color("yellow")
turtle.circle(40, steps = 6) # 육각형을 그린다.
turtle.end_fill()
turtle.penup()
turtle.goto(200, -50)
turtle.pendown()
turtle.begin_fill()
turtle.color("purple")
turtle.circle(40) # 원을 그린다.
turtle.end_fill()
turtle.color("green")
turtle.penup()
turtle.goto(-150, 50)
turtle.pendown()
turtle.write("화려한 형형색색의 도형", font=("맑은고딕", 18, "bold"))
turtle.hideturtle()
turtle.done()
메소드명 |
설명 |
turtle.color(c) |
펜 색상을 c로 설정한다. |
turtle.fillcolor(c) |
펜 채우기 색상을 c로 설정한다. |
turtle.begin_fill() |
도형을 채우기 전에 이 메소드를 호출한다. |
turtle.end_fill() |
begin_fill 에 대한 마지막 호출 전까지 그려진 도형을 채운다. |
turtle.filling() |
채우기 상태를 반환한다. 채우기 상태이면 True, 그렇지 않으면 False |
turtle.clear() |
창을 깨끗하게 지운다. turtle의 상태와 위치는 영향을 받지 않는다. |
turtle.reset() |
창을 깨끗하게 지우고 turtle의 상태와 위치를 원래 기본값으로 재설정한다. |
turtle.screensize(w, h) |
캔버스의 폭과 높이를 w와 h로 설정한다. |
turtle.hideturtle() |
turtle을 보이지 않게 만든다. |
turtle.showturtle() |
turtle을 보이게 만든다. |
turtle.isvisible() |
turtle이 보이면 True를 반환한다. |
turtle.write(s, font=("Arial", 8, "normal")) |
현재 turtle의 위치에 문자열 s를 쓴다. 폰트는 폰트명, 폰트크기, 폰트유형의 세 값으로 구성된다. |
실행결과
'컴퓨터 > Python' 카테고리의 다른 글
[경성 프로그래밍 교육 3일차]파이썬 프로그래밍 - 16진수를 10진수로 변환하기 (0) | 2017.08.07 |
---|---|
[경성 프로그래밍 교육 3일차]파이썬 프로그래밍 - Rational클래스 (0) | 2017.08.07 |
[경성 프로그래밍 교육 2일차]파이썬 프로그래밍 - 랜덤워크 (1) | 2017.08.06 |
[경성 프로그래밍 교육 2일차]파이썬 프로그래밍 - 윤년 판별하기 (6) | 2017.08.06 |
[경성 프로그래밍 교육 2일차]파이썬 프로그래밍 - 체질량지수 계산하기 (2) | 2017.08.06 |
[경성 프로그래밍 교육 1일차]파이썬 프로그래밍 - 거리 계산하기 GUI(turtle) (1) | 2017.08.05 |
[경성 프로그래밍 교육 1일차]파이썬 프로그래밍 - 대출상환금을 계산하는 프로그램 (1) | 2017.08.05 |
[경성 프로그래밍 교육 1일차] 파이썬 프로그래밍 - 현재 시간 출력하기 (3) | 2017.08.05 |