관리 메뉴

클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

파이썬 프로그래밍, 어떻게 시작할까? 1 - 내가 프로그램을 만들 수 있을까? 본문

프로그래밍 언어/파이썬

파이썬 프로그래밍, 어떻게 시작할까? 1 - 내가 프로그램을 만들 수 있을까?

huenuri 2024. 10. 4. 18:36

지난번에 파이썬 공부를 하다 말았는데 오늘부터 나머지 학습을 진행해 보기로 했다. 낮에 파이썬 라이브러리 관련 책도 하나 주문했다. 인공지능을 하려면 파이썬을 잘 알아야 한다. 하지만 난 파이썬에 대한 기초 정도만 알고 응용은 잘하지 못하는 것 같아 공부의 필요성을 느꼈다.

빠르게 진도를 빼는 것보다 제대로 알고 익혀서 프로그램에 활용할 수 있어야 한다. 여기서부터는 파이썬은 응용하는 부분이니 좀더 재미있게 학습해 보기로 하자.


 

 

 

내가 프로그램을 만들 수 있을까?

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

이럴 때는 '어떤 프로그램을 짜야지'라는 생각보다는 다른 사람이 만든 프로그램 파일을 자세히 들여다보고 분석하는 데서 시작해보자. 그러다 보면 다른 사람들의 생각도 읽을 수 있고, 거기에 더해 뭔가 새로운 아이디어가 떠오를 수도 있다. 하지만 여기에서 가장 중요한 것은 자신의 수준에 맞는 소스를 찾는 일이다.

매우 쉬운 예제부터 시작해 차츰 수준을 높여 실용적인 예제까지 다룰 것이다. 먼저 구구단을 만드는 것부터 시작해볼 것이다.


 

 

구구단 프로그램 만들기

1. 에디터를 열고 다음과 같이 입력한다.

 

 

주피터 노트북으로 이 식을 썼더니 오류가 떴다. 근데 에디터로 아니까 아주 잘 된다. 이 코드는 result라는 변수에 결과값을 넣으라는 뜻이다.


 

 

2. 결과값을 어떤 형태로 받을 것인지 고민해 본다. 2단이므로 결과값은 2, 4, 6, ... 18까지 나올 것이다. 

 

이런 종류의 데이터는 리스트 자료형이 적합하다.  따라서 result = [2, 4, 6, 8, 10, 12, 14, 16, 18] 같은 결과를 얻어야겠다는 생각을 먼저 하고 프로그래밍을 시작하는 태도가 필요하다. 이런 식으로 머릿속에 그림이 그려지기 시작하면 의외로 생각이 가볍게 좁혀지는 것을 느낄 수 있다.

 

3. 1번에서 입력한 문장을 지우고 진짜 프로그램을 짜본다.

 

 

gugu(2)를 실행하니 2가 출력되었다. 입력값으로 2가 잘 들어오는지를 확인했다.


 

 

4. 결과값을 담을 리스트를 하나 생성한다.

 

5. result에 2, 4, 6, ... 18을 어떻게 넣어야 할지 생각해 본다. 리스트에 요소를 추가하는 append 함수를 사용하기로 결정했다.

 

단순한 방법이지만 입력값 2를 주었을 때 원하는 결과값을 얻을 수 있다.


 

 

 

6. 앞에서 만든 함수는 반복이 너무 많다. 반복문을 사용해서 만들면 더 간단하게 만들 수 있지 않을까 생각할 수 있다.

 

대화형 인터프리터 화면에서 반복문으로 출력해보니 이처럼 출력이 된다. 이제 이 코드를 gugu 함수에 적용해 볼 것이다.


 

 

 

7. 이상의 생각을 바탕으로 완성한 gugu 함수는 다음과 같다.

 

 

결과도 똑같이 잘 출력되었다. 

 


 

 

 

학습을 마치고

오늘 외출 전에 20분 정도 파이썬 공부를 하고 집에 와서 다시 한 30분 정도 이어서 학습을 진행했다. 간단한 구구단 함수를 만들면서도 이렇게 많은 생각을 하며 단계별로 도출해 낼 수 있다는 걸 배울 수 있었다.

이 책을 펼쳐서 다시 공부해보길 정말 잘했다는 생각이 들었다. 이렇게 쉬운 문제부터 스스로 생각하며 프로그램을 만드는 연습을 해보려고 한다.