while문 동작 테스트

HS L·2023년 3월 31일
0

내일배움캠프

목록 보기
18/73

문제

  • 함수 내부에서 while문과 if문을 사용시 원하는 위치에서의 실행이 되지 않음

시도

  • while문의 명령문 중 continue, break, 공백을 각각 진행해서 결과값 확인
  • 원하는 방향으로 실행될때까지 디버깅과정을 진행함
  • 원하는 실행을 구현했지만 작동원리를 정확히 이해하기 위해 test문을 작성함

해결

  • 아래 테스트문을 통해 continue와 break의 작동원리 및 공백시의 작동원리를 이해한 후 원하는 코드를 작성함
test_a = True
test_b = True
while test_a == True:
    print('처음 진입')
    a = int(input('a input:'))
    if a == 0:
        print('a=continue')
        continue
    elif a == 1:
        print('a=break')
        break
    elif a == 2:
        print('a=공백')
    else:
        continue

    while test_b == True:
        print('두번째 진입')
        b = int(input('b input:'))
        if b == 0:
            print('b=continue')
            continue
        elif b == 1:
            print('b=break')
            break
        elif b == 2:
            print('b=공백')
        else:
            continue
        print('b 공백 테스트')
        test_b = False

    print('전체 순서 테스트')
    test_a = False
    print('bool값 False시 바로 종료여부 test')

print('마지막출력')

알게된 점

  • 테스트문에서 input값을 입력받아 테스트를 진행해본 결과는 다음과 같다.

    같은 while문 내에서의 각각의 작동 원리

    • continue: if문 아래에 있는 다음 값들을 실행하지 않고 속해있는 while문의 처음으로 돌아가서 다시 실행한다.

    • break: if문 아래에 있는 다음 값들을 실행하지않고 속해있는 while문을 빠져나간다.

    • 공백: if문 아래에 있는 다음 값들을 순차적으로 실행한 뒤 while문의 반복여부를 판단한다.
      (True인 경우 맨처음으로 돌아가고 False인 경우 while문을 종료한다.)

    • ++
      - continue가 있어도 반복중인 while문의 실행조건을 False로 선언해준다면 while문이 종료된다.
      - 진행중인 while문의 실행조건을 False로 선언하게 되면 그 자리에서 종료되는게 아니라 진행중이던건 완주한 뒤에 while문이 종료됨

profile
식이

0개의 댓글