19.5 연습문제: 역삼각형 모양으로 별 출력하기

다음 소스 코드를 완성하여 역삼각형 모양으로 별이 출력되게 만드세요.

practice_star_inverted_triangle.py

for i in range(5):
    for j in range(5):
                                     
        ...
                                     
    print()

실행 결과

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

정답

if j < i:
    print(' ', end='')
else:
    print('*', end='')

해설

먼저 별을 출력하는 조건문을 만들려면 출력된 모양을 분석해야 합니다. 윗부분이 넓고 아래로 갈수록 좁아지는 삼각형 모양인데 공백 부분이 하나씩 늘어나고 있습니다.

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

공백 부분은 세로 방향인 줄의 위치에 비례하므로 조건식도 세로 방향 변수 i에 맞추어 작성합니다. 단, 여기서는 i보다 j가 1이 작은 상황입니다. 따라서 if 조건문은 if j < i:와 같이 작성하여 가로 방향으로 공백을 출력할 때는 세로 방향의 변수 i보다 작을 때까지 출력하고, 반대되는 조건에서는 별을 출력하면 됩니다.