파이썬 - 반복문

2196 단어 pythonpython
  • 특정 코드를 반복적으로 실행하고자 할 때 사용
  • while문과 for문 중 어떤 것을 사용해도 상관은 없지만 대부분 for문이 짧은 경우가 많음


< while문 >

  • 조건이 참일 때에 한해서 반복적으로 코드 수행
  • 조건문 설정에 따라 무한 루프를 생성할 수도 있으나 거의 구현할 일 없음
i = 1
result = 0

while i <= 9:
  result += i
  i += 1

print(result)

i = 1
result = 0

while i <= 9:
  if i % 2 == 1:
    result += i
  i += 1

print(result)


< for문 >

  • 리스트를 사용하는 대포적인 for문의 구조
    for 변수 in 리스트:
      실행할 소스코드
  • in 뒤에 오는 데이터에 포함되어 있는 모든 원소를 첫 번째 인덱스부터 차례대로 방문
  • in 뒤에는 리스트, 튜플, 문자열 등이 사용
  • for문에서 수를 차례대로 나열할 때는 range()를 주로 사용
  • range(시작 값, 끝 값 + 1) 형태로 쓰임
result = 0

# 1부터 9까지 모든 값을 순회
for i in range(1,10):
  result += i

print(result)

  • range()의 값으로 하나의 값만 넣으면 시작 값은 자동으로 0
  • 리스트나 튜플 데이터의 첫 인덱스부터 방문할 때 이 방법 사용
score = [90, 85, 77, 65, 97]

for i in range(5):
  if score[i] >= 80:
    print(i+1, "번 학생은 합격입니다.")

  • 반복문 안에서 continue를 만나면 프로그램 흐름이 처음으로 돌아감
score = [90, 85, 77, 65, 97]
cheating_list = {2, 4}

for i in range(5):
  if i+1 in cheating_list:
    continue
  if score[i] >= 80:
    print(i+1, "번 학생은 합격입니다.")

  • 반복문은 언제든지 중첩해서 사용 가능
  • 실제 코딩 테스트에서도 '플로이드 워셜 알고리즘', '다이나믹 프로그래밍' 등에서 사용
# 반복문 중첩의 대표적 예시 구구단

for i in range(2,10):
  for j in range(1,10):
    print(i, ' x ', j, ' = ', i * j)

좋은 웹페이지 즐겨찾기