콘솔(터미널, 명령 프롬프트)은 2차원 평면이므로 별을 일정한 모양으로 출력하려면
반복문을 두 개 사용하는 것이 편리하다.
for i in range(5): # 5번 반복. 바깥쪽 루프는 세로 방향 for j in range(5): # 5번 반복. 안쪽 루프는 가로 방향 print('j:', j, sep='', end=' ') # j값 출력. end에 ' '를 지정하여 줄바꿈 대신 한 칸 띄움 print('i:', i, '\\n', sep='') # i값 출력, 개행 문자 모양도 출력 # 가로 방향으로 숫자를 모두 출력한 뒤 다음 줄로 넘어감 # (print는 기본적으로 출력 후 다음 줄로 넘어감)
이러한 코드를 실행하면
위와 같이 바깥쪽루프는 세로방향 안쪽루프는 가로방향을 담당하게 된다는 것을 알 수 있다.
머릿속에 바둑판을 그리고
별이 위치해 있는 행과 열을 생각한 후 그 위치의 공통점 혹은 규칙 찾아내기
ex: (0,0) (1,1) (2,2) 등등
for i in range(3): for j in range(7): print('*',end='') print() 결과값 ******* ******* *******
for i in range(5): for j in range(5): if i >=j: print('*', end='') else: print(' ', end='') print() 결과값: * ** *** **** *****
for i in range(5): for j in range(5): if i==j: print('*', end='') else: print(' ', end='') print() 결과값: * * * * *
for i in range(5): for j in range(5): if i <=j: print('*', end= '') else: print(' ', end='') print() 결과값: ***** **** *** ** *
a = int(input()) for i in range(a): for j in range(a*2-1): if i+j == a-1: for k in range(2*i+1): print('*', end='') else: print(' ', end='') print() 결과값: 5 * *** ***** ******* ********* 결과값: 3 * *** *****