Python

[Python / 기초] 파이썬 반복문 - while문, for문, break, continue, else, pass, match

씨주 2024. 1. 12. 09:44

📍 반복문

 

✅ while문

while <조건식>:
  실행할 코드

a = 0

while a <5:
    print(a)
    a += 1
    
# 0
# 1
# 2
# 3
# 4

 

✅ for문

: 정해진 범위 내의 반복

 

for variable in sequence:
    실행할 코드

numbers = [1, 2, 3, 4, 5]

for number in numbers:
    print(number)

# 1
# 2
# 3
# 4
# 5
# 1~30까지 숫자 중에서 홀수를 모아서 리스트로 출력
numbers = range(1,30)
list = []
for answer in numbers:
    if answer % 2 == 1:
        list.append(answer)
        
print(list) # [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29]
menus = ['라면', '김밥', '떡볶이', '돈까스', '튀김']

# index 접근
for i in range(len(menus)):
    print(menus[i])
    
# 라면
# 김밥
# 떡볶이
# 돈까스
# 튀김
# enumerate : index번호와 value를 tuple로 출력
for item in enumerate(menus):
    print(item)
    
# (0, '라면')
# (1, '김밥')
# (2, '떡볶이')
# (3, '돈까스')
# (4, '튀김')
for index, menu in enumerate(menus):
    print(index, menu)

# 0 라면
# 1 김밥
# 2 떡볶이
# 3 돈까스
# 4 튀김

 

✅ Dictionary 반복문

  • for key in dict:
  • for key in dict.keys():
  • for value in dict.values():
  • for key, value in dict.items():
blood_type = {
    'A': 5,
    'B': 4,
    'O': 2,
    'AB': 3,
}

for key in blood_type:
    print(key, blood_type[key])
    
# A 5
# B 4
# O 2
# AB 3
print('혈액형 목록은 다음과 같습니다.')
for key in blood_type.keys(): # dict의 key를 sequence로 출력
    print(key)
    
# 혈액형 목록은 다음과 같습니다.
# A
# B
# O
# AB
result = 0

for value in blood_type.values():
    result += value

print(f'총 인원은 {result}명입니다.')

# 총 인원은 14명입니다.
# items : Tuple 형식
for key, value in blood_type.items():
    print(f'{key}형은 {value}명입니다.')
    
# A형은 5명입니다.
# B형은 4명입니다.
# O형은 2명입니다.
# AB형은 3명입니다.

 

 break

: 반복문을 종료시키는 키워드

# 쌀보리 게임
rice = ['보리', '보리', '보리', '보리', '쌀', '보리', '보리', '보리']
for answer in rice:
    print(answer)
    if answer == '쌀':
        print('잡았다!')
        break

# 보리
# 보리
# 보리
# 보리
# 쌀
# 잡았다!

 

 continue

: continue 이후의 코드를 실행하지 않고 다음 반복을 실행

for i in range(10):
    if i % 2:
        continue

    print(i)
    
# 0
# 2
# 4
# 6
# 8

 

 else

: 끝까지 반복이 진행된 후 실행 (break를 만나지 않은 경우)

numbers = [1, 2, 3, 4, 5]
target = 1 # True

# numbers를 반복하다 target이 있으면 True 출력, 없으면 False 출력
for answer in numbers:
    if answer == target:
        print('True')
        break

else:
    print('False')

 

pass

: 실행할 코드가 없는 것으로 다음 행동을 계속해서 진행

if True:
    pass

 

match

match value:
    case 조건:
        실행할 코드
    case 조건:
        실행할 코드
    case _:
        실행할 코드

status = 100 # something

match status:
    case 400:
        print('bad request')
    case 404:
        print('not found')
    case 418:
        print('teapot')
    case _:
        print('something')