반복문

mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

mylist에 들어 있는 모든 값들을 출력하려고 한다면?

print(mylist[0])
print(mylist[1])
print(mylist[2])
print('...')
print(mylist[8])
print(mylist[9])
1
2
3
...
9
10

노가다를 획기적으로 줄여주는 방법!!!

for 와 in 구문 (반복문)

[기본 문법]
for 하나씩 꺼내올 때 변수 in [꺼내올 집합]:
(indent) * list, tuple, set, dictionary, 문자열 형태 모두 가능 * range와 결합하여 사용 가능

리스트(list)

mylist = [1, 2, 3, 4, 5]
for i in mylist:
    print(i)
1
2
3
4
5

튜플(tuple)

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

tuple + list

tuple을 전체로 받아주는 경우

person = ('제이콥스', 10)
print(person)
print(person[0])
print(person[1])
('제이콥스', 10)
제이콥스
10

tuple의 요소를 개별로 받아주는 경우

name, age = ('제이콥스', 10)
print(name)
print(age)
제이콥스
10

반복문에서의 응용

mytuplelist = [('제이콥스', 10), ('피터', 20), ('타이거', 30)]

for mytuple in mytuplelist:
    print(mytuple[0], mytuple[1])
제이콥스 10
피터 20
타이거 30
mytuplelist = [('제이콥스', 10), ('피터', 20), ('타이거', 30)]

for name, age in mytuplelist:
    print(name, age)
제이콥스 10
피터 20
타이거 30

딕셔너리(dictionary)

mydict = {'헐크': 50, '아이언맨': 60, '펭수': 70}
for key in mydict.keys():
    print(key)
헐크
아이언맨
펭수
for value in mydict.values():
    print(value)
50
60
70
for name, age in mydict.items():
    print(name, age)
헐크 50
아이언맨 60
펭수 70

문자열(str)

for c in "Hello":
    print(c)
H
e
l
l
o

range()

  • range() 함수는 별도의 list, tuple 생성 없이 range() 에서 정의한 범위를 반복는데 활용할 수 있습니다.
  • range(start, stop, step) 형식을 사용합니다.

stop: 단일 값을 지정하는 경우

for i in range(10):
    print(i)
0
1
2
3
4
5
6
7
8
9

start, stop: 두 개의 값을 지정한 경우

for i in range(2, 9):
    print(i)
2
3
4
5
6
7
8

start, stop, step: 세 개의 값을 지정한 경우

for i in range(1, 10, 2):
    print(i)
1
3
5
7
9

반복문의 중첩

for i in range(1, 4):
    for j in range(1, 4):
        print(f'(i={i}) + (j={j}) = {i * j}')
    print('===')
(i=1) + (j=1) = 1
(i=1) + (j=2) = 2
(i=1) + (j=3) = 3
===
(i=2) + (j=1) = 2
(i=2) + (j=2) = 4
(i=2) + (j=3) = 6
===
(i=3) + (j=1) = 3
(i=3) + (j=2) = 6
(i=3) + (j=3) = 9
===

제어문

continue

  • 반복문 내부에서 continue 구문은 해당 루프(loop)를 건너뛰게 합니다.
  • continue 라는 구문을 만나면, 반복문에서 continue 아래 작성된 코드는 실행되지 않고 건너뜁니다.
mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

반복문조건문 그리고 continue를 활용하여 짝수만 출력해 주세요

for i in mylist:
    if i % 2 == 1:
        continue
    print(i)
2
4
6
8
10

break

  • break 구문을 만나면, 반복 루프(loop)는 즉시 종료됩니다.
mylist = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

break를 사용하여 i가 6 이상이면 STOP

for i in mylist:
    if i >= 6:
        break
    print(i)
1
2
3
4
5

break, continue 차이

for i in range(10):
    if i == 5:
        break
    print(i)
0
1
2
3
4
for i in range(10):
    if i == 5:
        continue
    print(i)
0
1
2
3
4
6
7
8
9

While

  • while 문은 while문과 함께 정의한 조건이 참이 동안 반복 루프를 수행합니다.
count = 5

while count > 0:
    print(count)
    count -= 1
5
4
3
2
1

많은 사용하는 방법 중 하나는 while True로 지정하여 무한 루프를 생성 후, 탈출 구문 루프 내에서 설정하는 것입니다.

count = 1

while True:
    print(count)
    count += 1
    # 탈출 구문(break)
    if count > 5:
        break
1
2
3
4
5