문제 설명
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
풀이 과정
Point 1: While문에 대해 True / False 조건으로 종료 조건을 설정 해 주어야 한다.
Point 2: 무한 루프에 빠지지 않도록 조건과 While 문 내에 입력 조건을 설정 해 주어야 한다.
A=1 # A와 B를 먼저 구성 해 준다. 0 0이 아닌 수를 지정한다.
B=1
while A+B != 0: # While문은 조건이 False가 되면 종료된다.
A,B =map(int,input().split()) # A,B에 대해 각각 입력 인자를 받는다.
if A+B != 0: # A+B가 0 이 아닌 경우에 그대로 출력한다.
print(A+B)
else : # 0인 경우에 출력하지 않고 종료한다. (문제 요구사항)
pass
- While문 조건 설정하기
False가 되면 종료되므로, A+B != 0으로 구성하였다.
- While문 내 입력 구성하기
While문이 돌때마다 입력인자를 새로 받아서 값을 표출하거나 종료해야하기 때문에, While 문 내에 반드시 입력 인자를 받는 조건이 필요하다.
따라서 A,B = map(int, input().split())으로 구성하였다.
오답노트
A,B =map(int,input().split())
while A+B != 0:
print(A+B)
위와 같이 구성하였다. A,B를 바깥에 두면, 처음만 입력인자를 받은 후 while문 조건 False를 만족하지 않으므로 평생 돌게 된다. 무한 루프에 빠지게 된다.
'파이썬 > 파이썬 알고리즘' 카테고리의 다른 글
파이썬 백준 2439번 별 찍기 - 2 (0) | 2021.02.12 |
---|---|
파이썬 백준 10871번 X보다 작은 수 (0) | 2021.02.12 |
백준 solved.ac 사용하여 난이도 정보 표시하기 (0) | 2021.02.11 |
파이썬 백준 2839번 설탕 배달 (0) | 2021.02.11 |
파이썬 백준 2810번 컵홀더 (0) | 2021.02.10 |
댓글