웹 개발 메모장
[파이썬] 삼각형 그리기 예제들 본문
삼각형 그리기
문제 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(1, 11): print(' '*(10-n) + '*'*n) | cs |
문제 3. 다음과 같은 10줄 짜리 직각 삼각형을 그려보세요.
힌트)
2번 문제의 연장입니다.
앞의 빈 공간(' ') 은 2번문제와 같이 코딩하면 되고 그 뒤에 붙게되는 '*'의 갯수만 수정해주면 됩니다.
'*'의 갯수가 {1,3,5,7... } 이므로 n번째 줄의 경우 '*' 은 2n-1 개가 찍혀야 합니다.
답)
1 2 | for n in range(1, 11): 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 |
'옛날.. > 파이썬' 카테고리의 다른 글
[파이썬] 년도별 신생아 수 구하기 (파일입출력 예제) (0) | 2017.12.11 |
---|---|
[파이썬] .txt 파일의 총 줄 수 구하기 (파일입출력 예제) (0) | 2017.12.11 |
[파이썬] for 문 기본 구조 (0) | 2017.11.29 |
[파이썬] 조건문, 참과 거짓 (0) | 2017.11.29 |
[파이썬] 딕셔너리를 다루는 함수들 (0) | 2017.11.28 |
Comments