본문 바로가기
Study (Data Science)/Python

Unit 19. Star tree ; 중첩 loop

by 콜라찡 2022. 11. 24.

Star tree

output

*
**
***
****
*****

 

input 1 - ok

하지만 중첩 루프를 쓰지 않은 결과라 업데이트가 필요.

input 1-1 

별갯수가 j와 같게 하면 j가 1일때 별이 한개만 나올꺼라고 생각했는데, 

----> 방향으로 j의 갯수만큼 별이 다 채워져버렸다.

 

 

 

input 1-2

옆방향의 별의 갯수가 i의 갯수와 같아서 이렇게 넣었는데,

트리가 옆으로 4개나 나왔다. 옆으로 나오는 횟수를 i만큼으로 줄여야 할 것 같은데,,

 

input 1-3

옆으로가 줄어들긴 했다. 딱 i만큼으로 줄었다. 생각이 잘못되었나보다.

횟수가 i만큼이 아니라 1만큼이어야 한다.

input 1-4  

Blank를 줄여야한다.

input 1-5 

Answer

 

  • if j <= i:  print('*',end=' ') : 만약 j가 i 보다 작거나 같을때까지, 이 프린트 문장을 수행하세요 (옆으로)
  • i와 j의 관계에 대해 더 많이 생각해 봐야 했다. 
  • if문을 하나 더 넣는것도 고려해볼것!


역삼각형 Star Tree는?

5부터 0까지 내려가면 되니깐 reversed(range(5)) 쓰면 되는데,, 

vertical line으로 뒤집어져야 하니 변수 i에다가 넣기!


Star Square

 

  • 중첩루프 (다중루프) : 반목문 in 반복문. 보통 반복문의 변수명은 index의 i를 따고, 종속된 반복문의 변수명은 i,j,k와 같이 순차적으로 사용.

코딩도장

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는 기본적으로 출력 후 다음 줄로 넘어감)

 

practice

output

*****
*****
*****
*****
*****

input 1 

별 하나씩 다섯줄 * 5번이 나왔다.

별 하나씩 다섯줄만 고치면 될 듯.

 

input 2

별 다섯개가 나왔는데 줄간격이 넓다.

찾아보니 print는 /n 줄바꿈을 내재하고 있어서 쓰지 않아도 된다고 한다.

input 3 - OK

input 3

728x90

댓글