파이썬(python)으로 거북 수학

수학이야기 2017. 7. 21. 11:56
반응형

이제 코딩 시대가 시작되고 있다. 물론 컴퓨터 전문가는 이미 오래 전부터 코딩을 하고 있었다. 코딩 시대엔 컴퓨터 프로그래밍을 하지 못하면 글을 모르는 것과 마찬가지인 시대를 뜻한다. 우리나라도 교육과정에 코딩을 필수로 넣으려고 하고 있다. 학교에서 수학만큼이나 중요한 과목이 될 것이다. 아직 나이가 어린 사람은 반드시 코딩 시대를 살아갈 준비를 해야 한다. 프로그래밍을 연습하려면 프로그래밍 언어를 알아야 한다. 아주 많은 언어가 있는데 여기서는 파이썬(python)을 소개한다.  아래 연결고리에서 내려받을 수 있다. 내려받기를 하지 않고 누리집에서 바로 체험해 볼 수도 있다.

https://www.python.org/downloads/

아래에 파이썬을 잘 정리해 둔 곳이 있으니 참고하자.

설치하기

1. 내려받은 파일(python-3.8.5.exe)을 실행한다. 위에 있는 것을 선택하면 설치되는 경로를 저절로 만들어 설치한다. 프로그램을 설치할 폴더를 선택하려면 아래에 있는 걸 선택한다. 원도 10은 탐색기로 경로를 찾기가 번거로울 수 있으므로 아래를 선택하자.

2. 다음을 누른다.

3. Browse를 누른 다음 설치할 경로를 정해준다. C:\User\user\python으로 정해 두었다. 1번을 선택했다면 그림에 나온 경로가 선택되어 있을 것이고 바꿀 수 없다.

4. 1~2분 기다리면 설치가 끝난다.

5. 이제 설정해 준 경로를 찾아가면 응용프로그램 실행 파일이 보인다.

6. 아래와 같은 화면을 만났다면 성공이다.

 

python.3.8을 설치하고 시작-모든 프로그램-python3.8-IDLE(python 3.8 32bit)을 실행하면 아래와 같은 창이 뜬다. (IDLE : Integrated Development and Learning Environment 통합된 개발과 학습 환경)

원도10이라면 python을 '검색하려면 여기에 입력하십시오.'에 넣으면 된다.

 

 

 

https://wikidocs.net/book/2

나는 이걸로 거북 수학(거북이로 그리는 그림)을 하려고 한다.

거북 그림(Turtle Graphics)

지유아이(GUI's : Graphical User Interfaces)는 컴퓨터와 사람이 그림으로 정보를 주고받을 수 있도록 해주는 환경이다. 지유아이를 만들어 주는 파이썬 꾸러미(Python package) 가운데 거북 그림이 있다. 거북 그림은 1960년대까지 거슬러 올라가는데 프로그래밍 기초 연습을 위한 언어 로고(Logo)의 한부분이다. 이제 거북 그림으로 프로그래밍 기술을 닦아보자.

거북 기초

https://docs.python.org/2/library/turtle.html


거북 그림 불러오기

>>>import turtle as t

거북 모듈을 t라는 식별자로 불러오는 것이다. 불러온 모듈을 turtle.<object>로 쓰지 않고  t.<object>로 쓰게 된다. 불러온 함수 목록은 아래 명령으로 살펴볼 수 있다.

>>>dir(t)

이제 함수를 하나하나 살펴보자. forward()를 알고 싶다면 help() 함수를 쓴다.

>>>help(t.forward)
Help on function forward in module turtle:

forward(distance)
 Move the turtle forward by the specified distance.
Aliases : forward | fd

Argument :
distance -- a number (integer or float)

Move the turtle forward by the specified distance, in the direction the turtle is headed.
......

거북 머리 방향으로 주어진 거리만큼 선을 긋는 함수이며 짧게 fd(100)로도 쓸 수 있다. 아래를 실행하면 새로 창이 열리면서 선을 긋는다.

>>>t.fd(100) 

 

아직 거북은 보이지 않고 화살촉 모양이 있다. 이름 “거북 그림”에 걸맞게 거북으로 바꿔보자.

화살촉을 거북 모양으로 바꾸기   

>>>t.shape("turtle")

거북 숨기기

>>>t. hideturtle()

거북 보이기

>>>t.showturtle()

거북머리 돌리기는 left(angle), right(angle), setheading(angle)로 하는데 짧게 lt(), rt(), seth()로 쓸 수 있다. seth(동경이 x축 양의 방향과 이루는 각)으로 적는데 seth(0)는 x축 양의 방향이고 seth(90)을 y축 양의 방향이다. 정사각형은 아래와 같이 그린다.

>>>t.fd(100)
>>>t,rt(90)
>>>t.fd(100)
>>>t,rt(90)
>>>t.fd(100)
>>>t,rt(90)
>>>t.fd(100)
>>>t,rt(90)

아래 함수들을 공부하자.

>>>t.penup() 거북을 들어 올려 선이 그려지지 않는다.
>>>t.setposition(100,-100) 지정한 좌표로 이동한다.
>>>t.pendown() 거북을 내려놓는다.
>>>t.clear() 그림을 지운다.
>>>t.reset() 초기화한다.

함수를 정의하고 불러내기(정사각형 그리는 함수 이름 square)

>>>def square(length):
      for I in range(4):
         t.fd(length)
         t.rt(90)
>>>square(60)
>>>square(100)

원 그리기

>>>t.reset()
>>>t.circle(100)  시계반대방향으로 반지름 100인 원 그리기
>>>t.circle(-50)  시계방향으로 반지름 50인 원 그리기

거북 빠르기 조절

>>>t.reset()
>>>t.speed(0)
>>>t.circle(100)
>>>t.circle(-50)
>>>t.color("blue") 색깔 바꾸기
>>>t.pensize(100) 선 굵기 바꾸기
>>>t.bgcolor("blue") 바탕색 바꾸기

아래와 같이 명령하면 붉은 원을 되풀이하여 그린다.

>>>t.color("red")

>>>for angle in range(0,360,15):

. . .         t.seth(angle)

. . .         t.circle(50)

 

>>>def f(len):

t.fd(len)

t.lt(89)

>>>def g(n,len):
for i in range(n):
f(len)
len=len+2
 
>>>g(200,3)
 

위에 있는 명령으로 아래와 같은 그림을 그렸다.

이걸로 수학을 어찌 하는가는 차차 올리기로 하고 오늘은 여기까지... 2017.07.21.

 

 

 

chap13_거북수학.pdf
다운로드

 https://docs.python.org/3/library/turtle.html

반응형