오답노트

[Python3] 조건문, 반복문 본문

Python

[Python3] 조건문, 반복문

권멋져 2022. 6. 23. 21:26

조건문

조건문은 사용자 지정한 조건이 true일 때, 조건문 안에 코드를 실행한다.

if, elif, else

if는 기본적인 조건문의 형태이다.

elif 는 if문이 false일 때, 그 다음으로 실행된다. elif 끼리는 순서에 따라 조건문이 충족되면 실행한다.

else는 if와 elif 가 모두 false일 때, 실행된다.

아래 예시 코드를 살펴보자.

 

import sys

N = sys.stdin.readline()

if N == 1:
  print("1입니다.")
elif N == 2:
  print("2입니다.")
else :
  print("1과 2가 아닙니다.")

 

입력을 받았을 때,

1이면 "1입니다"를 출력

2이면 "2입니다"를 출력

1과 2가 아니면 "1과 2가 아닙니다"를 출력한다.

 

예로 3을 입력했들 때는 if문, elif문은 모두 false 이기 때문에 else문이 실행된다.

 

반복문

반복문의 조건이 true일 경우 반복문 내부의 코드를 반복해서 실행한다.

본 포스트는 while 과 for만 설명한다.

 

while

while 문은 조건이 true라면 while 내부의 코드를 반복해서 실행하고 while문의 조건이 false가 되면 반복문을 중단한다.

보통 특정한 조건이 될 때까지 반복하는 일이 있을 때 많이 사용한다.

개인적으로는 증감이 필요없고, 특정한 조건이 발생하기 전까지 무한루프가 필요하다면 while을 많이 사용한다.

 

import sys

N = -1

while N != 0:
    N = sys.stdin.readline()

    if N == 1:
      print("1입니다.")
    elif N == 2:
      print("2입니다.")
    else :
      print("1과 2가 아닙니다.")

print("0이 입력되었습니다.")

 

조건문 코드에서 while문만 추가했다.

N을 처음에 -1로 초기화하고, N이 0이 아니면 무한루프를 돌며 입력을 계속 받는다. 그러다 0이 입력되면

else문 출력 후 "0이 입력되었습니다."를 출력한다.

 

for

for 문도 while문과 같이 조건이 true라면 for 내부의 코드를 반복해서 실행하고 for문의 조건이 false가 되면 반복문을 중단한다. 보통 for문은 일정한 규칙이 있는 증가 또는 감소에 대해서 활용하기 편하다.

i = 0
for i in range(0,5):
  print(i)

for i in range(i,-1,-1):
  print(i)

 

첫번째 for는 i가 0부터 4까지 증가

두번째 for는 i가 4부터 0까지 감소한다.

 

range함수는 기본형태는 range(a,b) 이며 a부터 1씩 증가하여 b-1까지 출력한다.

하지만 세번째 인자를 추가하여 원하는 식을 만들어 사용할 수 있다.

두번째 for와 같이 range(A,B,-1)로 사용하면, A부터 1씩 감소하며 B+1 까지 출력한다.

 

range함수에서 조심해야할 점은 목표하는 숫자에 도달하지 않는다는 것이다.

위 예제 코드에서는 분명 range(0,5) 또는 range(i,-1,-1)로 인자를 넣어 사용했지만

출력에서 확하면 절대 5와 -1을 출력하지 않는다.

 

for는 range 말고 다른 방법으로도 반복문을 수행할 수 있는데, 나중에 포스트를 수정하여 추가하겠다.

'Python' 카테고리의 다른 글

[Python3] Tuple(튜플)  (0) 2022.06.28
[Python3] 함수  (0) 2022.06.26
[Python3] List(리스트)  (0) 2022.06.24
[Python3] 입출력  (0) 2022.06.21
[Python3] 웹 IDE replit  (0) 2022.06.21