콘텐츠 내 자동삽입광고

광고1

posted by 초코생크림빵 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개

출력

    *
   ***
  *****
 *******
*********

✨ 정리

즉, 각 코드가 만드는 도형은 다음과 같습니다:

  1. 첫 번째 → 오른쪽 위로 기울어진 역삼각형
  2. 두 번째 → 오른쪽 위로 올라가는 삼각형
  3. 세 번째 → 역 피라미드
  4. 네 번째 → 피라미드

 

반응형

콘텐츠 내 자동삽입광고