정수 N이 주어지면 높이가 N인 왼쪽 정렬 별 삼각형을 출력하는 프로그램을 작성한다. i번째 줄에는 별이 i개 출력되어야 한다.
입력
첫째 줄에 정수 N이 주어진다. (0 <= N <= 10)
출력
높이가 N인 왼쪽 정렬 별 삼각형을 출력한다.
N = int(input())
for i in range(1, N+1):
print("*"*i)
다음 프로그램은 사용자로부터 정수 ( N )을 입력받아, 높이가 ( N )인 왼쪽 정렬 별 삼각형을 출력하는 간단한 반복 구조를 구현한 것이다. 각 구성 요소를 문법 중심으로 체계적으로 설명하면 다음과 같다.
1. 입력 처리: input()과 int()
N = int(input())
▪ input() 함수
- 표준 입력(Standard Input)으로부터 한 줄의 데이터를 읽어들인다.
- 반환값의 자료형은 항상 문자열(str)이다.
예를 들어 사용자가 3을 입력하면, 내부적으로는 "3"이라는 문자열로 처리된다.
▪ int() 함수
- 문자열 형태의 숫자를 정수형(int)으로 변환하는 내장 함수이다.
- 반복 횟수나 산술 연산에 사용하기 위해 반드시 정수형으로 변환해야 한다.
2. 반복 구조: for 문과 range() 함수
for i in range(1, N + 1):
▪ range(start, stop)
- 지정된 범위의 정수 시퀀스를 생성한다.
- start부터 stop-1까지의 값을 순차적으로 생성한다.
- 즉, range(1, N+1)은 1부터 ( N )까지의 정수를 포함한다.
▪ for 반복문
- 시퀀스에 포함된 값을 하나씩 순회하며 반복을 수행한다.
- 각 반복마다 변수 i에는 현재 값이 할당된다.
▪ 들여쓰기(Indentation)
- 파이썬은 중괄호 {} 대신 들여쓰기를 통해 코드 블록을 구분한다.
- for 문 아래 들여쓰기된 영역은 반복 실행되는 코드 블록이다.
3. 문자열 연산: 반복 연산자 *
"*" * i
▪ 문자열 반복
- 문자열에 정수를 곱하면 해당 문자열이 지정된 횟수만큼 반복된 새로운 문자열이 생성된다.
예:
- "*" * 1 → "*"
- "*" * 3 → "***"
이는 반복문 내부에서 별의 개수를 점진적으로 증가시키는 핵심 연산이다.
4. 출력 함수: print()
print("*" * i)
▪ print() 함수
- 괄호 안의 값을 표준 출력(Standard Output)에 출력한다.
- 기본적으로 출력 후 자동으로 줄바꿈(\n)이 이루어진다.
5. 전체 실행 흐름
입력값이 ( N = 3 )이라고 가정하면, 반복문은 다음과 같이 동작한다.
반복 횟수 (i)생성 문자열출력 결과
| 1 | "*" | * |
| 2 | "**" | ** |
| 3 | "***" | *** |
각 반복에서 문자열이 생성되고 즉시 출력되며, 결과적으로 왼쪽 정렬된 삼각형 형태가 완성된다.
6. 정리
이 프로그램은 다음 세 가지 핵심 문법 요소로 구성된다.
- 입력 처리: input() → int()를 통한 형 변환
- 반복 구조: for 문과 range()를 이용한 제어 흐름
- 문자열 연산: "문자열" * 정수 형태의 반복 생성
이 세 요소의 결합을 통해 간결하면서도 직관적인 출력 구조를 구현할 수 있다.
'Univ > Python Programming' 카테고리의 다른 글
| [문제 05] 별로 세모 그리기 - Python 풀이 (0) | 2026.04.09 |
|---|---|
| 파이썬의 변수와 기본 자료형 실습 (0) | 2026.04.08 |
| 파이썬의 변수와 기본 자료형 (0) | 2026.04.08 |
| [문제 03] 별로 피라미드 그리기 - Python 풀이 (0) | 2026.04.08 |
| [문제 02] 별로 역삼각형 그리기 - Python 풀이 (0) | 2026.04.08 |