파이썬의 for 루프와 범위 기능을 활용하여 다양한 for 피라미드 구조를 그릴 수 있습니다. 접근 방식의 핵심은 피라미드 구조를 그리기 위해 선택한 기호의 위치에 대해 수직 및 수평 공간을 모두 남겨두는 적절한 for 루프를 설계하는 것입니다.
패턴 -1
직각 기반 패턴을 그립니다.
예
def pyramid(p):
for m in range(0, p):
for n in range(0, m+1):
print("* ",end="")
print("\r")
p = 10
pyramid(p) 출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
패턴-2
위의 패턴으로 180도 회전합니다.
예
def pyramid(p):
X = 2*p - 2
for m in range(0, p):
for n in range(0, X):
print(end=" ")
X = X - 2
for n in range(0, m+1):
print("* ", end="")
print("\r")
p = 10
pyramid(p) 출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
패턴-3
이 경우 이등변 유형의 삼각형 모양을 그립니다. 삼각형의 두 변의 길이는 같습니다.
예
n = 0
r = 12
for m in range(1, r+1):
for gap in range(1, (r-m)+1):
print(end=" ")
while n != (2*m-1):
print("* ", end="")
n = n + 1
n = 0
print() 출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
패턴-3
이제 우리는 세 변이 모두 같은 삼각형의 경우를 그립니다. 정삼각형이라고도 합니다.
예
length = 12
k = (2 * length) - 2
for p in range(0, length):
for n in range(0, k):
print(end=" ")
k = k - 1
for n in range(0, p + 1):
print("@", end=' ')
print(" ") 출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
@
@ @
@ @ @
@ @ @ @
@ @ @ @ @
@ @ @ @ @ @
@ @ @ @ @ @ @
@ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @
@ @ @ @ @ @ @ @ @ @ @ @