[제로베이스] 데이터사이언스 1기_ 02-01. 파이썬 기초_반복문

Dasol·2021년 10월 10일
0

반복문

  • 반복문이란 특정 실행을 반복하는 것
  • 반복문을 사용하면 프로그래밍이 간결하고 유지 보수가 쉽다.

예시

  • 대량 메일, 문자 발송
  • 인사말 반복
for i in range(1, 10):
	print('{} * {} = {}'. format(2, 1, (2*1)))

반복문 종류

  • 횟수에 의한 반복
    - 횟수 지정 -> 횟수 만큼 반복 실행
for i in range(100):
	print('i -> {}'.format(1)) #회원 100명한테 메일 발송하는 경우
  • 조건에 의한 반복
    - 조건 지정 -> 조건에 만족할 때까지 반복 실행
num = 0
while (num < 10):
	print('num -> {}'.format(num))
    num +=1 #실내온도 26도 까지 에어컨 작동

횟수에 의한 반복 이란?

  • 정해 놓은 반복 횟수에 따라 반복 실행한다.
    - 대량 메일 또는 문자 발송
    • 인사말 반복
    • mp3 반복 재생
  • 횟수에 의한 반복은 for문이 주로 사용된다.
for i in range(5):
	print('Hell0~') #실행문
for J in range(10):
	result = 7 * j
    print('{} * {} = {}'. format(7, j, result))

반복 범위 설정(range()함수)

  • range() 기본 사용 방법
for i in range(1, 11, 1): #1부터 10까지 1씩 증가 하면서 반복
for i in range(0, 10, 2): #0부터 9까지 2씩 증가 하면서 반복
for i in range(5, 10, 1): #5부터 9까지 1씩 증가 하면서 반복

조건에 의한 반복이란?

  • 조건에 만족하면 반복 실행한다. 그렇지 않으면 반복을 중단한다.
  • 조건에 의한 반복은 while 문이 주로 사용된다.
endNum = 10
n = 10

while n <= endNum: #n 이 10이하 이면 반복실행
	print(n)
    n += 1

무한루프

  • 반복문을 빠져나올 수 없는 경우를 무한루프라고 한다.
  • while 문에서 조건식의 결과가 항상 True인 경우

n = 1
while n < 10:
print('Hello!')
n += 1

무한루프를 빠져나오는 방법:

flag = Tue
num = 0

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

continue 키워드

  • 반복 실행 중 continue를 만나면 실행을 생략하고, 다음 반복 실행문으로 넘어간다.
for i in range(100):
	if i % 7 != 0:
    	continue
    print('{}는 7의 배수입니다.'.format(i))

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

cnt = 0
for i in range(100): 
	if i % 7 != 0:
    	continue
    print('{}는 7의 배수입니다.'.format(i))
    cnt += 1
    
else:
	print('99까지의 정수 중 7의 배수는 {}개입니다.'.format(cnt))
    

반복문 제어(break)

  • 실행을 중단하고 반복문을 빠져나온다.
num = 0
while True:
	print('Hello~')
    
    num += 1
    if (num >= 5):
    	break 
        
print('The End!')

중첩 반복문

  • 반복문안에 또 다른 반복문을 선언한다.
for i in range(1, 10):
	for j in range(i): #또 다른 반복문
    	print('*', end='')
        print()

출처

https://zero-base.co.kr/event/1st_ds_nklcb

profile
Learning Data Science

0개의 댓글