점프 투 파이썬 DAY15(내가 프로그램을 만들 수 있을까?)

정지범·2026년 9월 27일

점프 투 파이썬

목록 보기
27/37

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

파이썬의 문법을 어느 정도 공부하고 나면 이런 생각이 들 수 있다.

문법은 알겠는데, 이걸 가지고 프로그램을 어떻게 만들어야 하지?

프로그램을 처음부터 완벽하게 만들려고 하기보다는 다른 사람이 만든 프로그램을 살펴보고 분석하면서 프로그램을 만드는 방법을 익히는 것이 중요하다.


1. 프로그램을 만들 때 가장 먼저 생각할 것

프로그램을 만들 때는 가장 먼저 입력(Input) 과 출력(Output) 을 생각해 보는 것이 좋다.

예를 들어 구구단 프로그램을 만든다고 생각해 보자.

구구단 프로그램 설계

  • 함수 이름 : gugu
  • 입력값 : 2
  • 출력값 : 2, 4, 6, 8, ..., 18
  • 결과를 저장할 자료형 : 리스트(List)

즉 다음과 같은 형태를 먼저 생각할 수 있다.

result = gugu(2)

결과는 다음과 같이 나오도록 만드는 것이 목표이다.

[2, 4, 6, 8, 10, 12, 14, 16, 18]

2. 함수 만들기

먼저 gugu() 함수를 만들어 입력값이 정상적으로 전달되는지 확인한다.

def gugu(n):
    print(n)

gugu(2)

실행 결과

2

gugu(2)를 실행하면 숫자 2가 매개변수 n으로 전달된다.


3. 결과를 저장할 리스트 만들기

구구단의 결과는 여러 개의 숫자로 이루어져 있으므로 리스트에 저장한다.

def gugu(n):
    result = []

result라는 빈 리스트를 만들어 구구단의 결과를 하나씩 추가할 것이다.


4. append()를 사용하여 값 추가하기

리스트에 값을 추가할 때는 append()를 사용할 수 있다.

def gugu(n):
    result = []

    result.append(n * 1)
    result.append(n * 2)
    result.append(n * 3)
    result.append(n * 4)
    result.append(n * 5)
    result.append(n * 6)
    result.append(n * 7)
    result.append(n * 8)
    result.append(n * 9)

    return result

print(gugu(2))

실행 결과

[2, 4, 6, 8, 10, 12, 14, 16, 18]

원하는 결과는 얻을 수 있지만 같은 코드가 계속 반복되고 있다.

result.append(n * 1)
result.append(n * 2)
result.append(n * 3)
...

숫자만 바뀌고 동일한 작업이 반복되므로 반복문을 사용할 수 있다.


5. while문 사용하기

먼저 while문을 이용해 1~9까지 출력해 보자.

i = 1

while i < 10:
    print(i)
    i = i + 1

실행 결과

1
2
3
4
5
6
7
8
9

i가 1부터 시작해서 반복할 때마다 1씩 증가한다.

i = i + 1

그리고

i < 10

조건을 만족하는 동안 반복하기 때문에 1~9까지 실행된다.


6. 구구단 프로그램 완성하기

앞에서 만든 while문을 gugu() 함수에 적용하면 반복되는 코드를 줄일 수 있다.

def gugu(n):
    result = []
    i = 1

    while i < 10:
        result.append(n * i)
        i = i + 1

    return result

사용

print(gugu(2))

실행 결과

[2, 4, 6, 8, 10, 12, 14, 16, 18]

동작 과정

gugu(2)를 실행했다고 가정하면 다음과 같이 동작한다.

i계산result
12 * 1[2]
22 * 2[2, 4]
32 * 3[2, 4, 6]
.........
92 * 9[2, 4, 6, 8, 10, 12, 14, 16, 18]

i가 10이 되면

i < 10

조건이 거짓이 되어 반복문이 종료된다.

마지막으로

return result

를 통해 완성된 리스트를 반환한다.


📌 프로그램을 만드는 순서

프로그램을 처음 만들 때는 바로 코드를 작성하기보다 다음과 같이 하나씩 생각해 보는 것이 좋다.

  1. 어떤 값을 입력받을 것인가?
  2. 어떤 결과를 출력할 것인가?
  3. 결과를 어떤 자료형으로 저장할 것인가?
  4. 필요한 함수는 무엇인가?
  5. 반복되는 작업이 있는가?
  6. 작성한 코드를 단계별로 테스트하기

구구단 프로그램의 경우에는 다음과 같다.

입력
  ↓
2
  ↓
gugu(2)
  ↓
while문으로 1~9 반복
  ↓
2 × 1 ~ 2 × 9 계산
  ↓
리스트에 저장
  ↓
결과 반환

💡 핵심 정리

  • 프로그램을 만들 때는 먼저 입력과 출력을 생각한다.
  • 출력 결과에 맞는 자료형을 선택한다.
  • 처음부터 복잡하게 만들기보다 작은 기능부터 하나씩 확인한다.
  • 반복되는 코드가 있다면 반복문을 활용한다.
  • 프로그램은 한 번에 만드는 것이 아니라 단계적으로 구현하고 테스트하면서 완성한다.
def gugu(n):
    result = []
    i = 1

    while i < 10:
        result.append(n * i)
        i = i + 1

    return result

print(gugu(2))
[2, 4, 6, 8, 10, 12, 14, 16, 18]

프로그램을 만들 때 막막하다면 입력 → 출력 → 자료형 → 처리 과정 순서로 하나씩 구체화해 보자.

profile
성실하자:)

0개의 댓글