요즘 파이썬 특강을 하고 있는데...
저희 원에서 한 학생이 다음과 같이 하트를 그리더라구요...^^
저는 하트 그리는게 대수롭지 않다고 생각하고 무심결에 "잘했네~~" 라고 얘기 해 주고 나서 집에 와서 곰곰히 생각하니...
그 각도를 맞추는게 쉽지 않을것 같다는 생각이 들더라구요.^^
작은 아들한테 "파이썬으로 하트 그릴수 있어?" 하고 물어 보니 "먼저 삼각형 각도 체크 해서 올라가다가 그 위에 반원을 두개 그리고 다시 내려오면 되는거 아니야?" 하네요...
나중에 시간되면 한번 그려 보라고 이야기 해 보기는 했지만 이 학생이 이 하트를 어떻게 그렸는지 무척이나 궁금해 지더라구요...
그래서 그 학생의 소스를 살짝 훔쳐 보았네요.^^
학생의 소스
import turtle t = turtle.Turtle() wn = turtle.Screen() wn.title("star") wn.bgcolor("black") #바탕화면 색상을 black 로 칠한다. t.begin_fill() #도형의 안을 색칠할 준비를 한다. t.color("red") #도형의 펜의 색상은 red 색상으로 준비한다. t.left(45) #펜의 각도를 왼쪽으로 45도 회전한다 t.forward(200) #200 만큼 전진한다 t.circle(73,221.37) #반지름이 73 인 호를 221.37 만큼 그린다. t.left(180) #펜의 각도를 왼쪽으로 180도 회전한다. t.circle(73,221.37) #반지름이 73 인 호를 221.37 만큼 그린다. t.forward(200) #200 만큼 전진한다 t.end_fill() |
이 결과물은 다음과 같이 이쁘게 나오네요.
지금 생각하니 t.circle(73,221.37) 여기에서 73 의 크기와 221.37 의 호의 길이를 어떻게 구했는지 엄청 궁금해 지더라구요.
학생에게 물어 보니 올라가는 각도와 크기를 계산해서 나왔다고 하네요.
제가 단순히 선을 그리고 원을 그리는 명령만을 가르쳐 주어도...
각도를 계산해서 하트를 그릴 수 있는 학생의 능력에 감탄을 하게 되면서도...
똑같은 언어를 배운다고 해도 그 사람이 가지고 있는 지식으로 어떤 결과물이 나타나는가 하는 것을 여실히 보여주는 단적인 예인것 같네요.
'강의자료 > 텍스트기반SW' 카테고리의 다른 글
코드블럭에서 can't find compiler executable in your search path (GNU GCC compiler) 에러 발생시 (9) | 2018.05.03 |
---|---|
학생이 파이썬으로 만든 지뢰찾기 게임을 분석해 봅니다. (6) | 2018.01.31 |
파이썬의 매력에 흠뻑 빠지다. (4) | 2017.09.29 |
"이것이 자바다" 교재로 선택한 이유 (161) | 2017.08.10 |
코드블럭 printf() 색상 바꾸기... (2) | 2017.07.26 |