카테고리 없음

파이썬 예제 공부[ 번외. 별찍기(왼쪽, 가운데,다이아몬드,나무,엑스)]

Doorian's paw 2023. 9. 11. 10:22
728x90
반응형

오늘은 초보자들이 해보는 "파이썬으로 별찍는 예제" 5가지를 알아보자.

오늘 배울 예제의 목록은 다음과 같다.

 

왼쪽 정렬 별찍기

가운데 정렬 별찍기

다이아몬드 별찍기

나무 볼찍기

엑스 모양 별찍기

 

오늘은 예제를 한번씩 자기의 방식대로 만들어보고 정답을 봐도 좋을 것이다.

바로 출발해보자!!!

(우선 예시가 되는 두개는 곧바로 정답을 제공하겠다.)


1. 왼쪽 정렬 별찍기

{code}

for i in range(1, 6):
    print('*' * i)

 

[결과]

 

설명:

이 패턴은 행마다 별의 수가 증가하여 출력된다.


2. 가운데 정렬 별찍기

{code}

n = 5
for i in range(1, n + 1):
    print(' ' * (n - i) + '*' * (2 * i - 1))

 

[결과]

 

설명:

이 패턴은 행마다 별의 수가 증가하며, 별들은 가운데로 정렬된다.


아래 3가지 예시는 우선 결과물을 봐보자.

3.다이아몬드 별찍기[결과]

4. 나무 별찍기[결과]

5. 엑스 모양 별찍기[결과]

 

이제 코드를 한번 자신만의 방식으로 작성해 보자.

 

다 끝났다면 정답은 다음과 같다.

(하단은 정답 코드입니다.)

 




 

3.다이아몬드 별찍기[코드]

n = 5
for i in range(1, n + 1):
    print(' ' * (n - i) + '*' * (2 * i - 1))
for i in range(n - 1, 0, -1):
    print(' ' * (n - i) + '*' * (2 * i - 1))

 

4. 나무 별찍기[코드]

n = 5
for i in range(1, n):
    print(' ' * (n - i) + '*' * (2 * i - 1))
for _ in range(2):
    print(' ' * (n - 1) + '*')

 

5. 엑스 모양 별찍기[코드]

def fragment_star(n):
    for i in range(n):
        for j in range(n):
            if i == j or i + j == n - 1:
                print('*', end='')
            else:
                print(' ', end='')
        print()

    for i in range(1, n):
        for j in range(n):
            if i == j or i + j == n - 1:
                print('*', end='')
            else:
                print(' ', end='')
        print()

fragment_star(5)
 

별찍기를 한다면, 이제 for문은 너무 다루기 쉬울 것이다.

오늘도 화이팅!

 

728x90
반응형