PYTHON/파이썬 기초

[PYTHON] 제어문 (IF문 조건문, FOR문 반복문)

G허니 2024. 2. 26. 17:10

제어문이란, 말 그대로 코드의 흐름을 제어하는 문법이죠. 이를 통해 조건에 따라 다른 코드를 실행하거나, 특정 코드를 반복적으로 실행하게 할 수 있습니다.

 

if 문


if 문은 특정 조건에 따라 코드를 실행하게 하려는 경우에 사용합니다. Python에서는 if 문을 사용할 때, 조건이 참인 경우에만 코드 블럭을 실행하고, 그렇지 않은 경우에는 무시합니다. 이때 코드 블럭은 들여쓰기로 지정하게 되니, Python 코드를 작성할 때 들여쓰기에 주의해야 합니다.

 

단순 if 문
# 변수 선언
my_age = 17

# 20세 이상이면 '성인' 출력
if my_age >= 20:
  print('성인')


위의 예제에서는 my_age가 20 이상인 경우 '성인'을 출력하도록 했습니다.

 

if ~ else 문

if ~ else 문은 조건이 참인 경우와 거짓인 경우각 다른 처리를 하고 싶을 때 사용합니다.

# 변수 선언
my_age = 17
my_status = ""

# 20세 이상이면 '성인', 그렇지 않으면 '미성년자'
if my_age >= 20:
  my_status = "성인"
else:
  my_status = "미성년자"

# 결과 출력
print(my_status)

 

if ~ elif ~ else 문

if ~ elif ~ else 문은 여러 조건 중에서 참인 경우 각각 다른 처리를 하고, 모든 조건이 거짓인 경우에도 처리를 하고 싶을 때 사용합니다

# 변수 선언
my_score = 88

# 점수에 따른 등급 부여
if my_score >= 90:
    my_grade = 'A'
elif my_score >= 80:
    my_grade = 'B'
elif my_score >= 70:
    my_grade = 'C'
elif my_score >= 60:
    my_grade = 'D'
else:
    my_grade = 'F'

# 결과 출력
print(my_grade)

 

 


for 문


for문은 Python에서 반복적인 작업을 처리하기 위한 제어문입니다. 주어진 조건이 참인 동안 코드를 계속해서 반복해서 실행하게 됩니다.

 

for 문
# 문자열의 문자 출력
for ch in 'HELLO':
    print(ch)

# 리스트 요소 출력
for num in [1, 2, 3, 4, 5]:
    print(num)

# range() 함수 사용해 범위 지정
for i in range(5):
    print(i)

 

 


리스트는 Python의 가장 기본적인 자료구조 중 하나이며, for 문과 함께 사용하면 매우 강력합니다. 특히, Python의 for 문은 리스트의 모든 요소를 순회(iterate)하는 데 매우 유용합니다.

 

리스트와 for 문
기본 반복문
# 리스트 생성
members = ['John', 'Paul', 'George', 'Ringo']

# 루프를 돌면서 이름 출력
for name in members:
  print(name)

 

 

2) enumerate() 함수 사용

 

enumerate() 함수는 순서가 있는 자료형(list, tuple, string 등)을 입력받아 인덱스와 값을 포함하는 enumerate 객체를 반환합니다. 이를 이용하면, for 문에서 요소의 인덱스와 값을 동시에 얻어올 수 있습니다.

# 리스트 생성
members = ['John', 'Paul', 'George', 'Ringo']

# '인덱스: 이름' 형태로 출력
for index, name in enumerate(members):
  print(f'{index} : {name}')

 

 

3) 반복문 확장

 

Python의 for 문은 매우 강력한 확장 기능을 가지고 있습니다. 이를 이용하면, for 문을 한 줄로 간결하게 작성할 수 있습니다.

# 리스트 생성
nums = [1, 2, 3, 4, 5]

# 각 요소를 제곱한 새로운 리스트 생성
squares = [x ** 2 for x in nums]

# 확인
print(squares)



딕셔너리와 for문


Python의 딕셔너리는 키(key)와 값(value)을 한 쌍으로 갖는 자료형입니다. for문을 이용하면 딕셔너리의 키와 값을 쉽게 순회할 수 있습니다.

 

기본 반복문
# 딕셔너리 생성
score = {'John': 85, 'Paul': 95, 'George': 90}

# key와 value 조회
for k in score:
    value = score[k]
    print('{}: {}'.format(k, value))

 

 

items() 메서드 사용

 

딕셔너리의 items() 메서드는 딕셔너리의 키와 값을 한 쌍으로 반환합니다. 이를 이용하면, for문에서 키와 값을 동시에 얻어올 수 있습니다.

# items() 메서드 사용
for k, v in score.items():
  print('{}: {}'.format(k, v))

 

 

반복문 확장


Python의 for문은 매우 강력한 확장 기능을 가지고 있습니다. 이를 이용하면, for문을 한 줄로 간결하게 작성할 수 있습니다

# 딕셔너리 생성
score = {'John': 85, 'Paul': 95, 'George': 90}

# score가 90 이상인 항목만 선택한 새로운 딕셔너리 생성
high_score = {k: v for k, v in score.items() if v >= 90}

# 확인
print(high_score)

 

 

집합과 for문

 

Python의 집합(set)은 중복을 허용하지 않는 순서가 없는 자료형입니다. for문을 이용하면 집합의 각 요소를 쉽게 순회할 수 있습니다

# 집합 생성
members = {'John', 'Paul', 'George', 'Ringo'}

# 각 요소 출력
for member in members:
    print(member)

 

while문


Python의 while문은 주어진 조건이 참인 동안 코드를 계속 실행합니다. 사용자의 입력에 따라 반복을 중단하거나 계속 진행하도록 할 때 유용하게 사용할 수 있습니다.

# 변수 초기화
i = 0

# i가 10 미만인 동안 반복
while i < 10:
    print(i)
    i += 1

 

위의 예제에서는 i가 10 미만인 동안 i를 출력하고 i를 1 증가시키는 코드를 반복하도록 했습니다. 이렇게 Python의 딕셔너리, 집합과 for문, 그리고 while문을 이용하면 다양한 조건과 반복을 처리할 수 있습니다. 

 


break, continue, pass

 

Python에서는 제어 흐름을 관리하기 위해 break, continue, pass 등의 키워드를 제공합니다.

 

 

break

 

break문은 가장 가까운 반복문을 종료시킵니다. 이는 while문이나 for문 내부에서 주로 사용됩니다.

# 1부터 10까지 숫자 중에서 5를 만나면 반복문 종료
for i in range(1, 11):
    if i == 5:
        break
    print(i)

 

 

continue


continue문은 현재 반복을 중단하고 다음 반복으로 진행합니다. 이는 while문이나 for문 내부에서 주로 사용됩니다.

# 1부터 10까지 숫자 중에서 5를 제외하고 출력
for i in range(1, 11):
    if i == 5:
        continue
    print(i)

 

 

pass


pass문은 아무런 작동을 하지 않습니다. 코드의 형태를 유지하거나 아직 구현하지 않은 부분을 표시할 때 사용됩니다.

# 1부터 10까지 숫자 중에서 5를 만나면 아무 작동도 하지 않음
for i in range(1, 11):
    if i == 5:
        pass
    print(i)