웹 개발 메모장

[파이썬] 삼각형 그리기 예제들 본문

옛날../파이썬

[파이썬] 삼각형 그리기 예제들

도로롱주 2017. 12. 11. 14:47




삼각형 그리기



문제 1. 다음과 같은 10줄 짜리 직각 삼각형을 그려보세요.




힌트)


자바나 C언어와 다르게 파이썬에서는 문자나 문자열에 * 연산을 이용할 수 있습니다.

따라서, 이중 for문이 아닌 단일 for문으로 처리가 가능합니다.

문자열의 * 연산이 익숙하다면 바로 답을 찾을 수 있을거라 생각합니다.

간단한 문제지만 이 점이 처음에 많이 헷갈렸습니다...


답)


1
2
for n in range(1,11):
    print('*'*n)
cs





문제 2. 다음과 같은 10줄 짜리 직각 삼각형을 그려보세요.




힌트)


1번 문제와 다른점은 '*'들 앞에 빈 공간(' ')이 있다는 점입니다.

반복문으로 10바퀴를 돌리는데 모든 줄의 ' '과 '*'의 갯수는 항상 10개로 일정합니다.

n 번째 줄이라고 할때, 그 줄의 ' ' 갯수는 10-n 과 같으며 '*' 의 갯수는 n 과 같습니다.


답)


1
2
for n in range(111):
    print(' '*(10-n+ '*'*n)
cs





문제 3. 다음과 같은 10줄 짜리 직각 삼각형을 그려보세요.



힌트)


2번 문제의 연장입니다.

앞의 빈 공간(' ') 은 2번문제와 같이 코딩하면 되고 그 뒤에 붙게되는 '*'의 갯수만 수정해주면 됩니다.

'*'의 갯수가 {1,3,5,7... } 이므로 n번째 줄의 경우 '*' 은 2n-1 개가 찍혀야 합니다.


답)


1
2
for n in range(111):
    print(' '*(10-n) + '*'*(2*n-1))
cs





위의 문제들에서는 10줄 짜리라고 정해져 있지만 아래 처럼 상수 대신 변수를 사용하면 좀더 동적으로 삼각형을 그려주도록 프로그래밍 할 수 있습니다.



1
2
3
rows = 6
for n in range(1, rows+1):
    print(' '*(rows-n) + '*'*(2*n-1))
cs



Comments