A+B - 5
import sys
def main():
input = sys.stdin.readline
while True:
a, b = map(int, input().split())
if 0 == a == b:
break
print(a + b)
main()
실행 흐름 바꾸기 3
for
문은 여러 값들에 대해서 같은 문장을 반복해서 실행합니다.
이번 문제처럼 특정 조건이 만족될 때까지 반복해서 실행해야 하는 경우에는 while
문을 사용합니다.
while
문
while
문은 다음과 같이 작성합니다.
while 표현식:
문장
코드 흐름이 while
에 이르면 표현식의 값을 평가합니다.
값이 참으로 평가된다면 while
문 내부의 문장들이 실행됩니다.
문장들이 모두 실행된 후에는 코드 흐름이 다시 올라가서 표현식의 값을 평가합니다.
그 과정을 반복하다가 표현식의 값이 거짓으로 평가되면 바로 while
문을 빠져나옵니다.
break
for
문은 모든 항목의 이터레이트가 끝났을 때, while
문은 조건이 거짓이 되었을 때 각각 반복이 종료됩니다.
그 외에, 문장을 실행하다가 반복을 빠져나오려면 break
를 사용합니다.
arr = [3, 1, 4, 1, 5, 9, 2]
for x in arr:
print(x)
if x > 3:
break
print(x)
위 코드는 arr
의 항목을 하나씩 이터레이트하며 출력하는데, $x > 3$이면 break
로 반복을 빠져나옵니다.
따라서 3, 3, 1, 1, 4가 한 줄씩 출력됩니다.
여러 반복문(for
문이나 while
문)들이 중첩되어 있다면, break
는 자신이 속해있는 가장 안쪽 반복문을 빠져 나옵니다.
while True:
는 표현식 True
는 항상 참이므로 일반적인 종료 조건으로는 반복이 종료되지 않아서 무한 루프라고 합니다.
이때 문장 내부에 if 조건식: break
를 추가하여 종료 조건을 만들 수 있습니다.
댓글