[python] 반복문

Song A·2024년 6월 6일

*들여쓰기 중요!, 실행문 없을 땐 pass

반복문이란?

특정 실행 반복
반복문을 사용하면 코드가 간결하고 유지보수 쉬움

횟수에 의한 반복

횟수 지정 -> 횟수 만큼 반복
횟수에 의한 반복은 for 문이 주로 사용된다. (for i in range(100):)

for - in 키워드:
(들여쓰기)실행문

키워드에는 range(n)-> n보다 작을 때까지, 자료구조 들어갈 수 있다.

반복 범위

range() 함수

  • 기본
    range(n, m, i) : n 부터 m-1까지 i씩 증가

  • 변형
    range(n, m, i) : i=1일 때 i 생략 가능 -> range(n, m)
    range(n, m, i) : n=0일 때 n 생략 가능 -> range(m)

조건에 의한 반복

조건 지정 -> 조건이 만족할 때 까지 반복
조건에 의한 반복은 while 문이 주로 사용된다. (while num < 100:)

while 조건식: -> 조건식이 True이면 실행
(들여쓰기)실행문

조건식이 항상 True이면 무한루프가 됨 -> 조심해야 함!

for문과 while문 비교

for - 횟수에 의한 반복일 때 적합 (합구하기)
while - 조건에 의한 반복 (배수의 합이 50이상인 최초 정수 출력)

무한루프

무한 루프 : 반복문을 빠져나올 수 없는 경우
while문 조건식이 항상 True인 경우
조건식에 논리형 데이터를 사용해 무한 반복 실행 가능

continue

반복 실행 중 continue 만나면 실행 생략, 다음 반복 실행문으로 넘어간다.

else 키워드

반복문 종료 후 실행

minNum = 0
for i in range(100):
    if i%7!=0 or i%3!=0:
        continue
    print("3과 7의 공배수:", i)

    if minNum ==0:
        minNum=i
else:
    print("3과 7의 최소 공배수:", minNum)

break 키워드

반복 실행 중 break 만나면 반복문 빠져나온다.

currnetWeight = 800
date = 1

while True:
    if currnetWeight >= 2200:
        break

    currnetWeight += 70
    date +=1


print("이유식 중단 날짜 : {}일".format(date))

중첩 반복문

반복문 안에 또 다른 반복문 선언
너무 많은 중첩 반복문은 시스템에 부하를 줄 수 있음.
일반적으로 2,3 단계까지, 그 이후는 좋지 않음

for i in range(1, 10):
    for j in range(2, 10):
        print("{}*{}={}\t".format(i,j,i*j), end='')
    print()
profile
진행중

0개의 댓글