새소식

데이터분석/첫째주

파이썬 python : 반복문

  • -
728x90

 

 반복문     

특정 실행을 반복하는 것

반복문을 사용하면 프로그래밍이 간결하고 유지 보수가 쉽다.

 

반복문 사용 이유

패턴이 동일한 구문을 여러개 쓰는 것은 비효율적이다.

print('{} * {} = {}'.format(2, 1, (2*1)))
print('{} * {} = {}'.format(2, 2, (2*2)))
print('{} * {} = {}'.format(2, 3, (2*3)))
print('{} * {} = {}'.format(2, 4, (2*4)))
print('{} * {} = {}'.format(2, 5, (2*5)))
print('{} * {} = {}'.format(2, 6, (2*6)))
print('{} * {} = {}'.format(2, 7, (2*7)))
print('{} * {} = {}'.format(2, 8, (2*8)))
print('{} * {} = {}'.format(2, 9, (2*9)))
for i in range(1, 10):
	print('{} * {} = {}'.format(2, i, (2*i)))

 

 

 

반복문 종류

[1] 횟수에 의한 반복

회수 지정   ─▶   횟수만큼 반복 실행
(정해놓은 반복 횟수에 따다 반복 실행한다.)

 

  • 횟수에 의한 반복은 for문이 주로 사용된다.
for i in range(100): #0~99
	print('i -> {}'.format(i))

 

[2] 조건에 의한 반복

조건에 만족할 때까지 반복 실행

(조건에 만족하면 반복 실행한다. 그렇지 않으면 반복을 중단한다.)

 

  • 조건에 의한 반복은 while문이 주로 사용된다.

 

num = 0
while (num < 10):
	print('num -> {}'.format(num))
	num += 1

 

 

 

▶ for 문

【   for  ~   in키워드   반복횟수:

                 실행문                         

for i in range(5): #0~4
	print('hello')


for j in range(10): #0~9
	result = 7 * j
    print('{} * {} = {}'.format(7, j, result))

 

for문이 적합한 경우

  •  횟수에 의한 반복이라면 for문이 while문 보다 적합하다.
    1부터 10까지의 합을 구하는 경우 for문이 while문 보다 코드가 간결하다.
sum = 0
for i in range(1, 11):
	sum += 1
print('sum : {}'.format(sum))
sum = 0
n = 1
while n < 11:
	sum += n
    n += 1
print('sum : {}'.format(sum))

 

 

 

범위 설정 :  range( ) 함수

【   range(시작, 끝, 단계)    】

  • 1부터 10까지 1씩 증가 : range(1, 11, 1)
  • 0부터 9까지 2씩 증가 : range(0, 10, 2)
  • 5부터 9까지 1씩 증가 : range(5, 10, 1)

 

단계가 1인 경우 생략 가능

  • 1부터 10까지 1씩 증가 : range(1, 11, 1) 또는 range(1, 11)
  • 5부터 9까지 1씩 증가 : range(5, 10, 1) 또는 range(5, 10)

시작이 0인 경우 생략 가능

  • 0부터 10까지 1씩 증가 : range(0, 11, 1) 또는 range(11)

 

 

 

[실습] 사용자가 반복의 시작과 끝을 입력하면 1씩 증가하는 반복문 만들기

[실습] 위의 반복문을 이용해서 2씩 증가하느 반복문 만들기

 

 

 

 

▶ while 문

【    while키워드    조건식:

                 실행문                   

n = 1
while n < 10:
	result = 7 * n
    print('{} * {} * {}'.format(7, n, result))
    n += 1

 

 

while문이 적합한 경우

  • 조건에 의한 반복이라면 while문for문 보다 적합하다.
    1부터 시작해서 7의 배수의 합이 50이상인 최초의 정수 출력
sum = 0
max = 0
for i in range(1, 101):
	if i % 7 == 0 and sum <= 50:
    	sum += i
        max = i
	print('i : {}'.format(i))
print('7의 배수의 합이 50이상인 최초의 정수 : {}'.format(max))
sum = 0
max = 0
n = 1

while n <= 100 and sum <= 50:
	n += 1
	if n % 7 == 0:
    	sum += n
        max = n
	print('n : {}'.format(n))
print('7의 배수의 합이 50이상인 최초의 정수 : {}'.format(max))

 

 

 

pass  키워드

실행하지 않고 넘긴다.

 

 

 

[실습] while문을 이용해서 사용자가 입력한 구구단을 출력

 

[실습] 다음 반복 실행을 위해서 for문과 while문 중 가장 적합한 구문을 이용해서 프로그램을 만들기

- 자동차 바퀴가 한번 구를 때마다 0.15mm씩 마모된다고 한다.
현재의 바퀴 두께가 30mm이고 최소 운행 가능 바퀴 두께가 20mm라고 할때
앞으로 구를 수 있는 횟수를 구해보자.

 

 

 

 

반복문 사용시 무한 반복에 주의해야 한다.

반복문을 빠져나올 수 없는 경우를 무한 루프라고 한다.

  • while문에서 조건식의 결과가 항상 True인 경우
#무한루프

n = 1
while n < 10:
	print('hello~')
#9번만 실행
n = 1
while n < 10:
	print('hello!')
    n += 1

 

  • 조건식에 논리형 데이터를 사용해서 무한 반복 실행할 수 있다.
flag = True
num = 0
sum = 0
while flag:
	num += 1
    sum += num
    print('{}까지의 합은 {}입니다.'.format(num, sum))
    
    if sum >= 1000:
    	flag = False    #반복 실행 중단

 

[실습]  하루에 독감으로 병원에 내방하는 환자 수가 50명에서 100명 사이일때, 누적 독감 환자 수가 최초10,000명을 넘는 날짜 구하기

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.