Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python으로 숫자 n을 입력받아 자연수 합 패턴 출력하기

사용자로부터 숫자 하나를 입력받아 자연수의 합산 패턴을 화면에 출력해야 하는 경우, 간단한 'for' 반복문만으로도 손쉽게 구현할 수 있습니다.

이번 글에서는 파이썬(Python)을 이용해 1부터 n까지의 자연수를 차례대로 더하면서 각 단계별 합계를 보여주는 프로그램을 만들어 보겠습니다.

예제 코드

my_num = int(input("Enter a number... "))
for j in range(1,my_num+1):
    my_list=[]
    for i in range(1,j+1):
        print(i,sep=" ",end=" ")
        if(i<j):
            print("+",sep=" ",end=" ")
        my_list.append(i)
    print("=",sum(my_list))

print()

실행 결과

Enter a number... 5
1 = 1
1 + 2 = 3
1 + 2 + 3 = 6
1 + 2 + 3 + 4 = 10
1 + 2 + 3 + 4 + 5 = 15

코드 설명

  • 입력 받기: input() 함수로 사용자에게 숫자를 입력받고, int()를 사용해 정수형으로 변환합니다.

  • 외부 반복문: 첫 번째 'for' 반복문이 1부터 입력받은 숫자까지 차례대로 반복됩니다.

  • 빈 리스트 생성: 매 반복마다 빈 리스트 my_list를 초기화하여 현재 단계의 숫자들을 저장할 준비를 합니다.

  • 내부 반복문: 두 번째 'for' 반복문이 1부터 현재 외부 반복 값까지 실행되며 각 숫자를 출력합니다.

  • 구분자 처리: 내부 반복 변수가 외부 반복 변수보다 작을 때만 '+' 기호를 출력하여 마지막 숫자 뒤에는 덧셈 기호가 붙지 않도록 합니다.

  • 값 저장: 출력된 숫자들은 append() 메서드를 통해 빈 리스트에 순서대로 추가됩니다.

  • 합계 계산 및 출력: 한 줄의 출력이 끝나면 sum() 함수로 리스트에 담긴 값들의 총합을 구해 '=' 기호와 함께 출력합니다.

이처럼 중첩된 'for' 반복문과 파이썬의 기본 내장 함수들을 조합하면, 복잡한 로직 없이도 직관적인 자연수 합산 패턴을 깔끔하게 출력할 수 있습니다.