본문 바로가기
프로그램

[파이썬] 문제 : 다이아몬드 모양으로 별문자 출력 해

by 오디세이99 2023. 3. 30.
728x90
반응형

i, k = 0,0

i = 0
while i < 9:                       # 9개 라인. 위에서 아레로 9개. 반복문
    if i < 5:                       # 점점 늘어나는 별을 찍는 부분. 라인이 5보다 작으면 즉 4줄까지는 아래 코드 실행
        k = 0                       # k값 초기화
        while k < 4-i:             # 하나의 줄을 출력할때 앞부분의 공백을 출력하기 위한 반복문.
            print('  ',end='')      # 공백 2칸 출력. 줄바꿈은 하지 않음(end='').
            k += 1                  # k를 1씩 증가시킴
        k = 0
        while k < i * 2 + 1:       # 별을 출력. i는 줄번호. 2는 2칸씩 위에서 공백을 주기때문에. 
            print('\u2605', end='') # '\u2605'는 ★. 별을 출력
            k += 1
    else:                           # 점점 줄어드는 별을 찍는 부분. 5번쨰 줄부터 임.
        k = 0
        while k < i-4:              # 앞부분의 공백을 출력하는 부분. i-4로 줄(i)으 증가할 수록 반복 횟수가 늠 즉 공백을 많이 출력
            print('  ',end='')       # 공백 2개 출력. 줄바꿈 없음
            k += 1
        k = 0
        while k < (9 - i) * 2 - 1:  # 별츨 출력 반복문. 9,7,5,3,1로 됨.
            print('\u2605', end='')  # 별 출력
            k += 1
    print()                           # 줄바꿈만 출력
    i += 1                            # 줄 증가
728x90
반응형

댓글