데이터 취업 스쿨 스터디 노트 -(3) 반복문 for, while

테리·2024년 6월 5일
0
post-thumbnail

반복문

횟수에 의한 반복문

for문을 주로 사용함

for i in range(5):
    print('Hello')

의 결과 값은  Hello 가 5번 출력됨.

for문에도 pass 사용 가능.
실행문이 정해지지 않았다면 pass 사용하면 됨.

cf) range(5)는 i에 0부터 4까지의 숫자가 순차적으로 들어감

반복 범위 설정 range() 함수

range(시작,끝,단계)

ex) for i in range(0,11,2):
-> 0부터 10까지 2씩 증가

cf) 끝은 끝 숫자에서 1을 뺀 숫자까지 이다.

단계가 1씩 증가하는 경우 생략 가능함.
ex) range(2,11)

단계가 1일때 시작이 0인 경우 생략 가능함.
ex) range(10)

조건에 의한 반복 while문

ex) 매일 아침 기상 알람, 게임 반복 실행, 타이머

while문에서도 pass 사용 가능

for문과 while문 비교

  • 횟수에 의한 반복이라면 for문이 while문 보다 적합하다.
  • 조건에 의한 반복이라면 while문이 for문 보다 적합하다.
    ex) 50까지의, 합이 50이상인 최초의 정수 등

무한루프

무한루프를 사용해서 루프문을 만들수도 있고 중간에 멈추게 할 수도 있다.

flag = True
num = 0
sum = 0

while flag:
    num += 1
    sum += num
    print('{}까지의 합: {}'.format(num,sum))

    if sum >= 1000:
        flag = False

반복문 제어(continue)

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

for i in range(100):
    if i % 7 != 0:
        continue
    print('{}는 7의 배수입니다.'.format(i))

else 키워드

else의 실행문은 반복문이 종료된 후 실행된다.

cnt = 0
for i in range(1, 100):
    if i % 7 != 0:
        continue
    print('{}는 7의 배수입니다.'.format(i))
    cnt +=1          #7의배수 일 때만 카운트

else:
    print('99까지중 7의 배수는 {}개 입니다.'.format(cnt))    

else는 위의 for문이 다 끝난 후 실행됨.
(내 생각에는 굳이 쓸 일이 없을 것 같다. 그냥 for문 밖에다 else 안쓰고 print하는거랑 똑같음)

반복문 제어(break)

break를 만나면 반복문을 빠져나온다.

중첩 반복문

반복문 안에 또다른 반복문이 있는 것.

for i in range(1,10):
	for j in range(i):
		print('*', end='')     #자동개행을 하지 않음.
	print()

0개의 댓글