[플레이데이터 빅데이터 부트캠프]Python 반복문

파이썬에서는 반복을 위한 2가지 형태의 방법이 있다.

  • while 문
  • for 문

while문

while문을 사용할 때, 초기값을 바깥에서 설정한다.

# 1,3,5,7,9를 출력하는 while문을 만들어주세요
n = 1

while n <= 10:
    print(n)
    n += 2 # n = n + 2

초기 설정 값 n이 반복될 때마다 조건을 제대로 설정하지 않으면, 명제가 참인 동안은 끝없이 실행된다.

n = 1
while (n <= 10):
    print('이 print 명령어는 몇번 실행될까요')
n = 1
while (n <= 10):
    print('이 print 명령어는 몇번 실행될까요')
    n = n + 5 # 명제가 언젠가 거짓이 되도록 만드는 부분 
이 'print' 명령어는 몇번 실행될까요
이 'print' 명령어는 몇번 실행될까요

 

while문은 break문과 함께 사용할 수 있다.

이 경우 실행문이 while문 밖으로 바로 빠져나간다.

n = 1
while (n <= 10):
    print('이 print 명령어는 몇번 실행될까요')
    break
이 'print' 명령어는 몇번 실행될까요

 

while True 문은 특별한 조건이 없을 경우  while 문을 무한 반복시킨다.

n = 0
while True:
    print(n, '이 print 명령어는 몇번 실행될까요')
    if n > 10:
        break
    n += 1
    
0 이 'print' 명령어는 몇번 실행될까요
1 이 'print' 명령어는 몇번 실행될까요
2 이 'print' 명령어는 몇번 실행될까요
...

 

continue 문은 반복문에서 조건에 따라 빠져나가게끔 해주는 구문이다.

위와 같이 while문과 continue문을 적절히 같이 사용할 수 있다.

x = 1
while x <= 10:
    x += 1
    if x % 2 != 0:
        continue
    print(x)
2
4
6
8
10

 

for 문 

반복문의 기본적인 형태이다.

for 변수 in iterable:

     # for 블록

  • 이터레이블 원소 개수만큼 반복을 하게 된다.
  • 끝까지 반복하게 할수도, 중간에 끊을수도, 사용자가 각기 다르게 할 수 있다.

 

for + range(시작점 끝+1, step)

for i in range(0, 5, 1):
	print(i)
0
1
2
3
4

 

카운트다운! 숫자 입력받고 그 수부터 거꾸로 출력해보기

num = input('숫자를 입력하세요! ')
for i in range(int(num), 0, -1): # range(시작, 끝+1, step)
    print(i)
숫자를 입력하세요! 5
5
4
3
2
1

for문을 사용하여 거꾸로 출력하고 싶을 경우, step 자리에 -1을 입력하면 된다.

 

for 문mappiong형 자료에서도 요긴하게 쓸 수 있다.

sale1 = { '연필' : [500, 300], '공책': [1200, 2100], '신발':[58000, 2121000]}

for k, v in sale1.items():
    print(k, v[0], k, v[1])
연필 500 연필 300
공책 1200 공책 2100
신발 58000 신발 2121000