카테고리 없음

스파르타 사전학습 2024.5.30(while 반복문)

골드인생 2024. 5. 30. 15:34

# while 반복문 - 범위가 정해지지 않으면 무한 반복 출력

예를 들어 ~할때까지 ~해라(for 반복문을 사용할 수 없을 경우)

open = 0

 

while open < 0:

    open += 1

    print(f"{open}번 상자를 열었습니다.")

    if open == 10:

        print("모든 상자를 열었습니다.")

 

# 0째 부터 9번째 까지 출력하라 - for 반복문으로 대체가 가능

i = 0

while i < 10:
    print(f'{i}번째')
    i += 1

 

# 리스트 내부의 특정 요소가 다 없어질 때까지 반복하라.

a = [1, 2, 1, 2]
value = 2

while value in a:
    a.remove(value)

print(a)      # [1, 1]

 

# 예제

limit = 1000
i = 1

sum_value = 0
while sum_value <= limit:
    sum_value += i
    i += 1

print(f'{i-1}를 더할 때 {limit}을 넘으며 그때의 값은 {sum_value}입니다.')

반복문을 돌릴때 마지막으로 i에 1을 더 더했을때 조건문이 거짓이 되므로 출력으로는 i-1의 값을 넣는다.

즉, 1부터 값을 차례대로 더하면서 값을 넘기는 순간까지 출력을 하고 그 이후로는 출력을 하지 않는 것이다.

 

# break를 이용한 탈출 - break를 사용하지 않으면 무한 출력하기 때문

box = 10

 

while True:

    print("상자를 구매합니다.")

    box -= 1

    if not box:

        print("상자가 0개라 더 이상 구매할 수 없습니다.")

        break


# continue를 이용한 홀수만 출력 - continue 란? 뛰어넘고 다음으로 진행시켜라

num = 0

 

while num < 10:

    num += 1

    if num % 2 == 0:

        continue

    print(num)