Python

Page 216

[01] 내가 프로그램을 만들 수 있을까? 프로그램을 막 시작하려는 사람이 처음 느끼는 벽은 아마도 다음과 같을 것이다.

“문법도 어느 정도 알겠고, 책의 내용도 대부분 다 이해하는데, 이러한 지식을 바탕으로 내가 도대체 어떤 프로그램을 만들 수 있을까?”

이럴 때는 무턱대고 “어떤 프로그램을 짜야지”라는 생각보다는 다른 사람들의 프로그램 파일들을 구경하고 분석하는데서 시작하는 것이 좋다. 그러면서 다른 사람들의 생각도 읽을 수 있고 거기에 더해 뭔가 새로운 아이디어가 떠오르기도 하는 것이다. 하지만 여기서 가장 중요한 것은 자신의 수준에 맞는 소스를 찾는 일이다. 그래서 이 책 5장에서는 아주 쉬운 예제부터 시작해서 차츰 어려워지는 실용적인 예제까지를 다루려고 노력하였다. 이것들을 어떻게 활용하는가는 독자의 몫이다. 이곳에 있는 예제들은 모두 필자가 만든 것인데, 대부분 다른 사람들이 만든 소스를 보고 아이디어를 얻은 것이 많다. 필자가 만든 예제들을 쉽게 이해하기 위해서는 필자가 프로그램을 만들 때 어떤 생각을 하면서 만들었는지 독자들이 알면 좋을 것이다. 그래서 여기에서는 필자의 프로그래밍 스타일을 잠시 소개하겠다. 필자는 이제 막 프로그래밍을 해보려는 사람에게 구구단 프로그램을 짜보라고 요구했던 적이 있었다. 생각보다 쉬운 퀴즈였는데 의외로 파이썬 문법도 다 공부한 사람이 프로그램을 어떻게 만들어야 할 지 갈피를 못잡고 있다는 사실은 놀라운 일이었다. 그래서 필자는 다음과 같은 해결책을 알려 주었다. “입력과 출력”을 생각하라는 것이었다. 우선 구구단 중 먼저 2단을 만들어야 하니까 2를 입력값으로 주었을 때 원하는 출력 값을 생각해 보라는 힌트였다. 그래도 그림이 그려지지 않는 듯 보여 직접 연습장에 그려주면서 설명을 해 주었다. 그것은 다음과 같았다. 이것이 필자가 프로그래밍을 하는 방식이다. 독자들도 함께 따라해 보기를 바란다. 먼저 에디터를 열고 다음과 같이 쓴다. 즉, GuGu라는 함수에 2라는 입력을 주면 result라는 결과 값을 준다.

result = GuGu(2)

그렇다면 이제 결과값을 어떤 형태로 받을 것인지를 고민한다. 2단이니까 2,4,6,,,18까지 갈 것이다. 아무래도 위와 같은 데이터는 리스트가 좋을 것 같다. 따라서 result = [2, 4, 6, 8, 10, 12, 14, 16, 18] 이런 결과를 얻는 것이 좋겠다는 생각을 먼저 하고 나서 프로그래밍을 시작하는 것이다. 그렇다면 의외로 생각이 가볍게 좁혀 지는 것을 느낄 수 있을 것이다. 일단 함수를 다음과 같이 만들어 보자.

def GuGu(n): print n

wikidocs.net PDF, page : 216


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.