728x90
turtl은 다양한 그림을 그릴 수 있게 해주는 패키지입니다.
turtle
turtle사용법은 import키워드를 사용해서 turtle모듈을 가져오고 turtle.Turtle()을 사용해서 객체를 생성합니다. (as 키워드를 사용해서 turtle이름을 t 또는 다른 이름으로 바꿔서 작성할 수 있습니다.)
import turtle as t
t.Turtle()
t.bgcolor("black") ### 배경색
t.color("white") ### 글자색
t.speed(5) ### 속도
t.forward(100) ### 직선
t.left(90) ### 90도로꺽기
t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)
t.circle(50) ### 동그라미
- 위 코드를 사용하면 네모와 겹친 동그라미 모양이 나옵니다. speed숫자를 올리면 속도가 빨라지고, forward숫자를 줄이거나 늘리면 네모 크기가 작아지거나 커집니다.
- 삼각형, 사각형, 등등 다른 모양을 만들려면 360나누기 꼭지점갯수를 하면 됩니다.
- circle숫자를 바꾸면 원이 커지거나 작아집니다.
반복문사용
갯수가 많아지거나, 모양이 복잡해지면 코드가 길어집니다. 그럴때는 반복문을 사용하면 더 간편하게 작성할 수 있습니다.
- for, range()
# 1.네모
for i in range(4): ### 꼭지점갯수4개
t.forward(100) ### 직선
t.left(90) ###왼쪽으로 90도꺽기
# 2.꽃모양
for i in range(5): ### 꼭지점갯수5개
t.circle(10) ### 동그라미
t.left(72) ### 왼쪽으로 72도꺽기
# 3.점점커지는 동그라미
a=15 ### 동그라미 크기
for i in range(6): ### 꼭지점갯수6개
t.circle(a)
a+=10 ### 한번반복할때마다 10씩 커짐
range(숫자)는 꼭짓점 갯수로 생각하면 됩니다.
- 네모는 직선으로 100가고 왼쪽으로 90도 꺾습니다. 이 행위를 4번 반복합니다.
- 꽃 모양은 10크기의 원 하나를 만들고 72도로 꺾습니다. 이 행위를 5번 반복합니다.
- 점점 커지는 동그라미 모양은 첫 번째 원 크기를 a에 정하고, 점점 커지는 숫자를 a+=숫자에 적습니다. range에 반복할 숫자를 입력해서 횟수만큼 동그라미가 그려집니다.
# 1.많아지는 꼭지점
count=2
for i in range(15):
count+=1
for j in range(count):
t.forward(50)
t.left(360/count)
# 2.겹치는사각
for i in range(10):
t.left(36)
for j in range(4):
t.forward(50)
t.left(90)
# 3.커지는 사각
a=15
for i in range(100):
a+=2
t.forward(a)
t.left(90)
- count=2로 꼭짓점 갯수를 설정했습니다. 처음 for 문을 돌때마다 count가 1씩 더해집니다. 다음 for문은 range(count)로 설정해서 삼각형부터 그려지고, 그다음부터 사각, 오각, 등등 점점 늘어납니다. (총 15개의 도형이 만들어집니다.) 또한 t.left(360/count)로 설정해놔서 360도에서 꼭짓점 갯수만큼 나눠서 실행됩니다.
- 이중 for문을 사용해서 사각형 모양을 겹치게 만들었습니다. 첫 번째 for문은 총 10번 반복하고 36만큼 왼쪽으로 회전하고 두 번째 for문으로 갑니다. 10번 반복하면 겹치는 사각형 모양이 완성됩니다.
- a에 직선 크기를 정해줬고, for문을 돌때마다 +2가 됩니다. left를 90으로 맞춰주면 똑바르게 점점 커지고, left숫자를 높이거나 줄이면 삐뚤하게 커집니다.
기본키워드
- turtle.Turtle() : turtle 객체 생성
- turtle.bgcolor("색깔") : 배경 색상 선택(영어 or 색상 코드)
- turtle.color("색깔") : 펜 색상 선택(영어 or 색상 코드)
- turtle.speed(숫자) : 펜이 움직이는 속도 정함
- turtle.penup() : 펜을 들어서 그리는 것을 멈춤
- turtle.pendown() : 펜을 내려서 그림
- turtle.forward(숫자) : 입력한 숫자만큼 앞으로
- turtle.left(숫자) : 입력한 숫자만큼 왼쪽으로 회전
- turtle.righr(숫자) : 입력한 숫자만큼 오른쪽으로 회전
- turtle.circle(숫자) : 입력한 숫자 크기로 원을 그림
- turtle.goto(x좌표, y좌표) : 입력한 좌표로 이동
728x90
'파이썬' 카테고리의 다른 글
파이썬 turtle 패키지로 그림그리기 코드 작성 (색상,반복) (0) | 2022.07.21 |
---|---|
파이썬 turtle 패키지로 그림그리기 코드 작성 (졸라맨) (0) | 2022.07.20 |
파이썬 tkinter 패키지로 계산기 코드 작성 (짧은버전) (0) | 2022.07.18 |
파이썬 Tkinter 패키지로 계산기 코드 작성 (0) | 2022.07.16 |
파이썬 기본패키지 tkinter 모듈 사용법 (0) | 2022.07.15 |
댓글