KT AIVLE SCHOOL 복습

KT AIVLE DX #1 - 데이터 다루기(5) 제어문

전쏘스 2023. 2. 27. 13:22

제어문

→ 조건 처리나 반복 처리를 통해 코드의 실행 흐름을 제어

→ 파이썬 제어문은 들여쓰기로 블럭을 지정하니 이에 ㅈ의

1. IF문

→ 가장 대표적인 제어문이 if문

→ 특정 조건에 맞는 경우에만 코드를 실행하고 싶을 때 사용

1) 단순 if문

  • 조건이 참인 경우만 처리
    • 조건이 거짓인 경우는 아무 처리도 하지 않는다

 

 

my_score = 73

if my_score >= 80:
    my_score += 10

my_score    # 73

 

2) if ~ else 문

  • 조건이 참인 경우와 아닌 경우 각각 처리
  • 처리할 구문이 없거나 이후에 작성할 목적으로 pass 사용 가능

 

 

my_score = 73

if my_score >= 80:
    print('Pass')
else:
    print('Fail')     # Fail

 

3) if ~ elif ~ else 문

    • 여러 조건 중에서 참인 경우 각각 처리, 그렇지 않은 경우 처리

 

 

my_score = 76

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'

my_grade       # 'C'

 


2. for문

→ 첫번째 값부터 마지막 값까지 하나씩 가져가면서 처리함

1) 리스트와 for문

→ 반복문과 가장 많이 사용되는 자료형이 리스트형

a. 기본 반복문

  • 첫 번째 요소부터 마지막 요소까지를 대상으로 코드를 반복 처리
member = ['홍길동', '한사랑', '일지매', '박여인', '강우동']

i = 1
for m in member:
    print(i, m)
    i += 1

# 1 홍길동
# 2 한사랑
# 3 일지매
# 4 박여인
# 5 강우동
# enumerate -> index와 value를 튜플 형태로 반환해주는 함수 
member = ['홍길동', '한사랑', '일지매', '박여인', '강우동']

for i, m in enumerate(member):
    print(i + 1, m)

 

b. 반복문 확장

  • 이 방법은 코드를 간결하게 하는 방법
nums = [0, 1, 2, 3, 4]
squares = []

for x in nums:
    squares.append(x ** 2)

# 반복문 확장법을 사용하면
squares = [x ** 2 for x in nums]

 

2) 딕셔너리와 for문

a. 기본 반복문

score = {'홍길동': 85, '한사랑': 95, '일지매': 90}

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

# 홍길동: 85
# 한사랑: 95
# 일지매: 90

b. items() 메소드 사용

for k, v in score.items():
    print(f'{k}: {v}')

c. 반복문 확장

score = {'홍길동': 85, '한사랑': 95, '일지매': 90}

score_over_90 = {k: v for k, v in score.items() if v > 90}

 

3) 집합과 for문

a. 기본 반복문 : 리스트와 같은 방법

 


3. while 문

→ 조건문이 True인 동안 문장이 반복해서 실행됨

→ 특정 상황에서 반복을 중지하게 while 문 안에서 조건을 제어

1) 일반 while문

fruits = ['apple', 'banana', 'cherry']

i = 0
while i < 3:
    print(fruits[i])
    i += 1

2) 무한루프 다루기

  • break문 : 반복문 안에서 특정 조건이 되어 반복문을 빠져나올 때 사용
  • continue문 : 다음 반복으로 넘어갈 때 사용
tot, i = 0, 0

while True:
    i += 1
    if i > 100:
        break
    if i % 2 == 0:
        tot += i
    else:
        continue
    
    print(i, tot)