ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬_다중 for문_심사문제19.6_중첩 루프_중첩반복
    python파2썬 2021. 8. 20. 15:13

    코딩도장_Unit19_별찍기_중첩 루프_중첩반복

     

    이번 다중 for문 다루는 유닛에서 많이 막힐 것이라 생각합니다.

    비록 예제에는 for문안에 한개의 for문이 되는 예제가 있지만 for문안에 몇개의 for문도 가능하기 때문에 사고방식을 넒혀야 손쉽게 따라 갈 수 있습니다.

    *for문 = 반복문*

     

    #Unit19 중첩루프 사용
    for i in range(5):
        for j in range(5):
            print('j 위치', j ,sep='', end=' ') #sep은 문자 사이에 공간을 물어보는 것, 가로줄
        
        print('i:', i, sep='') #i값 출력, 세로줄 번호.
    
    print()
    
    for a in range(5): #0부터 4까지 5번 반복 세로
        for b in range(5): #0부터 4까지 5번 반복 가로
            if b == a:              #세로방향 변수와 같으면
                print('*', end= '') #별 출력
    
            else:                  #세로방향 변수 다를때
                print(' ', end='') #공백 출력
        print() #가로 방향 별을 다 그린 뒤 줄 넘어감.

     

     

    연습문제 19.5

    #hint  for문을 두개 사용하여 빈칸으로 출력되는 것을 별로 바꾼다.
    #연습문제 19.5
    
    for o in range(5):
        for p in range(5):
    
            if p < o:
                print(' ', end='')
            else :
                print('*', end='')                                           
        print()

     

     

    심사문제 19.6

    #hint  큰 반복문 안에 반복문 여러개를 사용할 수 있다는 점을 인지합니다.
    #hint2 reversed를 통해 삼각형 반쪽을 만듭니다.
    #hint3 나머지 삼각형은 단순하게 별만 출력을 한다면 가로와 세로에 맞춰서 출력이 가능합니다.

     

    #심사문제 19.6
    height = int(input())
    
    for n in range(height): #입력값 만큼 세로 길이 설정
        for m in reversed(range(height)): #첫번째 가로식
            if m>n:
                print(' ', end='')
            else:
                print('*', end='')
    
        for m in range(height):         #두번째 가로식
            if m<n:                     #첫번째 가로식에 순서에서 옆으로 출력값이 누적이됩니다.
                print('*', end='')
        print()

    결과

    3
      *
     ***
    *****

     

    7
          *
         ***
        *****
       *******
      *********
     ***********
    *************

    댓글

Designed by Tistory.