WjExplor Story

[점프 투 파이썬] 6강 파이썬 프로그래밍, 어떻게 시작해야 할까? 본문

Python/Python : Code Study

[점프 투 파이썬] 6강 파이썬 프로그래밍, 어떻게 시작해야 할까?

더블유제이플로어 2025. 9. 19. 21:56
# =========================================
# 프로그램을 만들 때 생각하면 좋은 점들
# =========================================
# 안녕하세요! '점프 투 파이썬' 6강을 공부하며 직접 구구단 프로그램을 만들어보셨군요.
# 정말 잘하셨습니다! 프로그램을 만들 때 지금처럼 체계적으로 생각하는 습관은 매우 중요합니다.
#
# 지금 공부하고 계신 내용에 몇 가지 살을 붙여 프로그램을 만들 때 어떤 순서로 생각하면 좋을지 정리해 보았습니다.
#
# 1. 무엇을 만들고 싶은가? (목표 정의)
#
#    가장 먼저 "어떤 기능을 하는 프로그램을 만들고 싶다"는 명확한 목표를 세우는 것이 중요합니다.
#    예를 들어, "사용자가 원하는 단의 구구단을 계산해서 보여주는 프로그램"처럼 말이죠.
#
# 2. 프로그램은 어떻게 동작해야 하는가? (설계)
#
#    목표를 정했다면, 이제 구체적인 동작 방식을 설계해야 합니다.
#    사용자로부터 어떻게 입력을 받고, 어떤 계산을 수행하며, 결과를 어떻게 보여줄지 큰 그림을 그리는 단계입니다.
#
#    - **입력 (Input):** 어떤 데이터가 필요한가요?
#      - (예: 구구단 몇 단을 계산할지 숫자를 입력받는다.)
#      - 지금 만드신 `gugu(n)` 함수에서 `n`에 해당합니다.
#
#    - **처리 (Process):** 입력을 어떻게 가공하고 계산할까요?
#      - (예: 입력받은 숫자에 1부터 9까지 차례대로 곱한다.)
#      - `while` 반복문으로 곱셈을 수행하는 부분이 여기에 해당합니다.
#
#    - **출력 (Output):** 어떤 결과를 보여줄까요?
#      - (예: 계산된 구구단 결과를 화면에 보여준다.)
#      - `return result` 로 계산 결과를 돌려주는 부분이 바로 출력입니다.
#
# 3. 어떻게 코드로 구현할 것인가? (구현)
#
#    이제 설계를 바탕으로 실제 코드를 작성합니다. 이때 여러 기능을 잘게 나누어 함수로 만들면 좋습니다.
#    지금 `gugu`라는 이름으로 함수를 만드신 것은 아주 좋은 습관입니다.
#
#    - **함수 이름:** 함수의 역할을 가장 잘 설명하는 이름으로 짓습니다. (`gugu` -> 좋습니다!)
#    - **결과 저장:** 계산 결과를 어떤 형태로 저장하고 반환할지 결정합니다.
#      - (예: 리스트(list)에 담아서 반환한다.)
#      - `result`라는 리스트를 만들어 `append`로 차곡차곡 쌓으셨죠. 훌륭합니다.
#
# 4. 코드가 잘 동작하는가? (테스트)
#
#    코드를 다 작성했다면, 의도한 대로 잘 동작하는지 확인해야 합니다.
#    다양한 입력값을 넣어보며 예상치 못한 오류는 없는지 꼼꼼히 테스트하는 습관이 중요합니다.
#    - (예: `gugu(2)`도 해보고, `gugu(9)`도 해보며 결과가 맞는지 확인한다.)
#
#
# 지금처럼 작은 프로그램을 직접 만들어보고, "어떻게 만들까?" 고민하는 과정 하나하나가 쌓여
# 나중에는 어떤 복잡한 프로그램도 만들 수 있는 훌륭한 개발자가 되실 겁니다.
#
# 응원합니다! 

출처: Gemini

# 구구단 만드는 함수
def gugu(n):
    result = []
    i=1
    while i < 10:
        result.append(n*i)
        i += 1
    return result

print(gugu(7))
# 10 미만의 자연수에서 3과 5의 배수를 구하면 3,5,6,9 이다.
# 이들의 총 합은 23이다.
# 1000 미만의 자연수에서 3의 배수와 5의 배수의 총합을 구하라.

total = 0
for n in range(1, 1000):
    if n % 3 == 0 or n % 5 == 0:
        total += n

print(total)