2025. 9. 13. 16:15
반응형
for a in range(5) :
print(' '*a,'*'*(5-a))
for a in range(5) :
print(' '*(4-a),'*'*(a+1))
for a in range(5) :
print(' '*a,'*'*((5-a)*2-1))
for a in range(5) :
print(' '*(4-a),'*'*(a+a+1))
결과)
*****
****
***
**
*
*
**
***
****
*****
*********
*******
*****
***
*
*
***
*****
*******
*********
파이썬 소스 및 결과 입니다. 소스설명)
좋습니다 👍
올려주신 파이썬 소스는 for 반복문과 문자열 곱셈(' '*a, '*'*n)을 활용해서 별(*)을 이용한 도형 출력을 만드는 코드입니다.
하나씩 분석해 드릴게요.
1️⃣ 첫 번째 코드
for a in range(5) :
print(' '*a, '*'*(5-a))
동작 원리
- a는 0 ~ 4까지 변화합니다.
- ' '*a → a개의 공백 출력
- '*'*(5-a) → (5-a)개의 별 출력
즉, 공백은 점점 많아지고, 별은 점점 줄어듭니다.
실행 과정
- a=0 → 공백 0개 + 별 5개
- a=1 → 공백 1개 + 별 4개
- a=2 → 공백 2개 + 별 3개
- a=3 → 공백 3개 + 별 2개
- a=4 → 공백 4개 + 별 1개
출력
*****
****
***
**
*
2️⃣ 두 번째 코드
for a in range(5) :
print(' '*(4-a), '*'*(a+1))
동작 원리
- ' '*(4-a) → 왼쪽에 공백을 점점 줄여줌
- '*'*(a+1) → 별 개수를 점점 늘려줌
실행 과정
- a=0 → 공백 4개 + 별 1개
- a=1 → 공백 3개 + 별 2개
- a=2 → 공백 2개 + 별 3개
- a=3 → 공백 1개 + 별 4개
- a=4 → 공백 0개 + 별 5개
출력
*
**
***
****
*****
3️⃣ 세 번째 코드
for a in range(5) :
print(' '*a, '*'*((5-a)*2-1))
동작 원리
- ' '*a → 왼쪽 공백이 점점 늘어남
- '*'*((5-a)*2-1) → 별의 개수는 홀수 개, 위에서 아래로 줄어듦
실행 과정
- a=0 → 공백 0개 + 별 9개
- a=1 → 공백 1개 + 별 7개
- a=2 → 공백 2개 + 별 5개
- a=3 → 공백 3개 + 별 3개
- a=4 → 공백 4개 + 별 1개
출력
*********
*******
*****
***
*
4️⃣ 네 번째 코드
for a in range(5) :
print(' '*(4-a), '*'*(a+a+1))
동작 원리
- ' '*(4-a) → 위쪽일수록 공백 많음, 아래로 갈수록 공백 줄어듦
- '*'*(a+a+1) → 홀수 개의 별(1,3,5,7,9)이 점점 늘어남
실행 과정
- a=0 → 공백 4개 + 별 1개
- a=1 → 공백 3개 + 별 3개
- a=2 → 공백 2개 + 별 5개
- a=3 → 공백 1개 + 별 7개
- a=4 → 공백 0개 + 별 9개
출력
*
***
*****
*******
*********
✨ 정리
즉, 각 코드가 만드는 도형은 다음과 같습니다:
- 첫 번째 → 오른쪽 위로 기울어진 역삼각형
- 두 번째 → 오른쪽 위로 올라가는 삼각형
- 세 번째 → 역 피라미드
- 네 번째 → 피라미드
반응형
'파이썬(Python)' 카테고리의 다른 글
| 파이썬, 타자 연습게임 소스에서 맞힌 문제 개수와 정답률 출력 소스 (1) | 2025.09.13 |
|---|---|
| 파이썬, 타자연습 게임 소스 (0) | 2025.09.13 |
| 파이썬, 코드(369 게임) 소스 (1) | 2025.09.13 |
| 파이썬, 1~100까지 숫자 맞추기 게임 소스 (추가 수정 본) 및 실행파일 (0) | 2025.09.09 |
| 파이썬, random, while, if, 컴퓨터가 생각한 숫자 맞추기 게임 프로그램 소스 (0) | 2025.09.09 |
콘텐츠 내 자동삽입광고
