Chapter 4. ๋ฐ๋ณต๋ฌธ#
๋ฐ๋ณต(iteration)๋ฌธ์ ๋์ผํ ๋ฌธ์ฅ์ ๋ฐ๋ณตํด์ ์คํํ๋ ๊ตฌ์กฐ์ด๋ค. ์ด ์ฅ์์๋ ๋ฐ๋ณต๋ฌธ while๊ณผ for์ ๋ํด์ ์์๋ณธ๋ค.
ํ์ต๋ชฉํ์ ๊ธฐ๋ํจ๊ณผ
ํ์ต๋ชฉํ
๋ฐ๋ณต๋ฌธ์ ๊ฐ๋ ๊ณผ ๋์์๋ฆฌ๋ฅผ ์ดํดํ๊ณ ๋ฐ๋ณต ํจํด์ ์ฐพ์๋ณด์.
๋ฐ๋ณต๋ฌธ while๋ฅผ ๋ฐฐ์๋ณด์.
๋ฐ๋ณต๋ฌธ for๋ฅผ ๋ฐฐ์๋ณด์.
๊ธฐ๋ํจ๊ณผ
์ปดํจํ ๋๋ฐ์ด์ค๋ค์ด ์ด๋ป๊ฒ ๋ฐ๋ณต์ ์ธ ์ผ์ ๊ณ์ ํ ์ ์๋์ง ์ดํดํ ์ ์๋ค.
While loop#
๋จผ์ , while๋ฌธ์ ๋ํด ์์๋ณด์.
while statement#
while๋ฌธ์ ํ์์ ๋ค์๊ณผ ๊ฐ๋ค. ์กฐ๊ฑด ๋ค์๋ ๋ฐ๋์ ์ฝ๋ก (:)์ด ์์ด์ผ ํ๋ฉฐ, ์กฐ๊ฑด์ด True์ธ ๋์ while๋ฌธ ์์ ์๋ ์คํ ๋ฌธ์ฅ์ ์คํํ๋ค. ์ด๋ ์คํ ๋ฌธ์ฅ์ ๋ฐ๋์ ๋ค์ฌ์ฐ๊ธฐ๊ฐ ๋์ด ์์ด์ผ ํ๋ค.
while ์กฐ๊ฑด:
์คํ ๋ฌธ์ฅ1
์คํ ๋ฌธ์ฅ2
...
์๋ฅผ ํตํด์ while๋ฌธ์ ์ดํดํด๋ณด์.
์๋ ์ฝ๋์์๋ ๋ฐ๋ณต์ ์ํ ์กฐ๊ฑด๋ณ์๋ก count๋ฅผ ํ์ฉํ๋ค.
๋ณ์๋ฅผ ์กฐ๊ฑด์ ํ์ฉํ๊ธฐ ์ํด์๋ ๋ฐ๋์ ์กฐ๊ฑด์ ์ฌ์ฉ ์ด์ (์ฌ๊ธฐ์๋ while๋ฌธ ์ด์ )์ ๋ฏธ๋ฆฌ ์ ์๋์ด ์์ด์ผ ํ๋ค. ์ด ์์์๋ while๋ฌธ ์ด์ ์ ๋ณ์ count๋ฅผ 1๋ก ์ ์ํ์๋ค.
๋ณ์ count๋ while๋ฌธ ์์์ ๋ฐ๋ณตํ ๋๋ง๋ค 1์ฉ ์ฆ๊ฐํ๋ค.
๊ทธ๋ฌ๋ค๊ฐ count๊ฐ 5๋ณด๋ค ํฌ๋ฉด, ์ฆ 6์ด ๋๋ฉด,
count <= 5
์กฐ๊ฑด์ด False๊ฐ ๋์ด ๋ฐ๋ณต์ ๋ฉ์ถ๋ค.
count = 1
while count <= 5:
print(f'์ฌ๋ฏธ์๋ ํ์ด์ฌ:{count}')
count=count+1
print(f'count={count}')
์ฌ๋ฏธ์๋ ํ์ด์ฌ:1
์ฌ๋ฏธ์๋ ํ์ด์ฌ:2
์ฌ๋ฏธ์๋ ํ์ด์ฌ:3
์ฌ๋ฏธ์๋ ํ์ด์ฌ:4
์ฌ๋ฏธ์๋ ํ์ด์ฌ:5
count=6
์กฐ๊ฑด๋ณ์๋ก ์ฌ์ฉํ count์ ์ด๊ธฐ๊ฐ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ค์ ํด์ฃผ๋ฉด ๋๋ค.
์๋ฅผ ๋ค์ด, count=0์ผ๋ก ํ๋ค๋ฉด while๋ฌธ ์์์ count๋ฅผ ๋จผ์ ์ฆ๊ฐ์ํจ๋ค.
๋ํ 5๋ฒ ๋ฐ๋ณตํ๊ณ ๋น ์ ธ๋์์ผ ํ๋ฏ๋ก
count < 5
์ ๊ฐ์ด ์กฐ๊ฑด์๋ ๋ฌ๋ผ์ง๋ฉฐ, count๊ฐ 5์ผ๋ while๋ฌธ์ ๋น ์ ธ๋์จ๋ค.
count = 0
while count < 5:
count=count+1
print(f'์ฌ๋ฏธ์๋ ํ์ด์ฌ:{count}')
print(f'count={count}')
์ฌ๋ฏธ์๋ ํ์ด์ฌ:1
์ฌ๋ฏธ์๋ ํ์ด์ฌ:2
์ฌ๋ฏธ์๋ ํ์ด์ฌ:3
์ฌ๋ฏธ์๋ ํ์ด์ฌ:4
์ฌ๋ฏธ์๋ ํ์ด์ฌ:5
count=5
๐๋ฌธ์ . ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ while๋ฌธ์ ์ด์ฉํด ์์ฑํด ๋ณด์์ค.
test case-1
๋๋ฌด๋ฅผ 1๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ์น!
๋๋ฌด๋ฅผ 2๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ์น!์น!
๋๋ฌด๋ฅผ 3๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ์น!์น!์น!
๋๋ฌด๋ฅผ 4๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ์น!์น!์น!์น!
๋๋ฌด๋ฅผ 5๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ์น!์น!์น!์น!์น!
break#
while๋ฌธ์ ์กฐ๊ฑด ๋ถ๋ถ์ ์กฐ๊ฑด์์ด ์๋ True ๋๋ ์ซ์ 1์ ๋ฃ์ด์ค ์๋ ์๋ค.
์ด ๊ฒฝ์ฐ์๋
while True:
๋๋while 1:
์ด๋ฏ๋ก ์กฐ๊ฑด์ ๊ฒฐ๊ณผ๊ฐ ํญ์ True๊ฐ ๋์ด ๋ฌดํ ๋ฐ๋ณตํ๊ฒ ๋๋ค.์ด๋ฌํ ๋ฌดํ๋ฐ๋ณต๋ฌธ์ ๊ฒฝ์ฐ ๋ฐ๋์ ๋ฐ๋ณต๋ฌธ์ ํ์ถํ๋ break๋ฅผ ๋ฐ๋ณต๋ฌธ ์ ์ด๋๊ฐ์ ๋ช ์ํด์ฃผ์ด์ผ ํ๋ค.
count = 0
while True :
print(f'๋ฌด์ผํธ~:{count}')
count = count + 1
if count == 5:
break
print(f'count={count}')
๋ฌด์ผํธ~:0
๋ฌด์ผํธ~:1
๋ฌด์ผํธ~:2
๋ฌด์ผํธ~:3
๋ฌด์ผํธ~:4
count=5
True์ False์ ์๋ฏธ
ํ๋ก๊ทธ๋๋ฐ์์ True๋ 1์ ๊ฐ์ ๊ฐ์ง๋ฉฐ, False๋ 0์ ๊ฐ์ ๊ฐ์ง๋ค. ์๋ฐํ ๋งํ๋ฉด False์ 0์ ์ ์ธํ ๋ชจ๋ ๊ฐ์ True์ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ค. ๋ฐ๋ผ์ while โaโ: ์ ๊ฐ์ด ์จ๋ ๋ฌดํ ๋ฐ๋ณต๋๋ค.
Sample Source Code #4#
๐ ๋ฐ๋ณตํ์ฌ ๊ธฐํ์ฃผ๊ธฐ
TODO-1: while๋ฌธ์ ์ด์ฉํ์ฌ number๋ฅผ ๋งํ์ง ๋ชปํ์ ๋๋ guess ๊ธฐํ๋ฅผ ๊ณ์ ์ฃผ๋๋ก ์์ ํด๋ณด์ธ์.
TODO-2: ๋งํ์ ๋์๋ Good job~๋ฌธ ์ถ๋ ฅ ํ Iโm happy๋ฅผ ์ถ๋ ฅํด์ฃผ์ธ์.
# This is a guess the number game.
import random
myName = input('Hello! What is your name? ')
number = random.randint(1,20)
print ( f'Well, {myName} I am thinking of a number between 1 and 20.')
guess = int(input('Take a guess.'))
if guess> number:
print('Your guess is too high')
elif guess < number:
print('Your guess is too low')
else:
print ( f'Good job, {myName}! You guessed my number!')
while ~ else#
while๋ฌธ์๋ else๊ฐ ์๋ค.
while๋ฌธ์ else ํํธ๋ while๋ฌธ์ด ์ ์์ ์ผ๋ก ๋ชจ๋ ๋ฐ๋ณต์ ๋ค ํ ๊ฒฝ์ฐ์๋ง ์คํํ๋ค.
์ฆ, while๋ฌธ์ ์กฐ๊ฑด์์ด False๊ฐ ๋์ ๋น ์ ธ๋์ค๋ ๊ฒฝ์ฐ์๋ง ์คํํ๋ฉฐ, break๋ฅผ ํตํด์ while๋ฌธ์ ๋น ์ ธ๋์จ ๊ฒฝ์ฐ์๋ else๋ฌธ์ด ์คํ๋์ง ์๋๋ค.
count = 0
while count < 5 :
pw=input('Password: ')
if pw=='pythonisfun':
print('๋ก๊ทธ์ธ ๋์์ต๋๋ค.')
break
count = count + 1
else:
print ('๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค.')
Sample Source Code #5#
๐ ๊ธฐํ ํ์ ์ ํํ๊ธฐ: Sample Source Code #4์์ ์์ ํ ์ฝ๋๋ฅผ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ์ ํ ์๋ TODO์ ๊ฐ์ด ์์ ํด ์ฃผ์ธ์.
TODO: guessํ ๊ธฐํ๋ฅผ 5๋ฒ๋ง ์ฃผ๊ณ 5๋ฒ์์ ๋งํ์ง ๋ชปํ๋ฉด ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋์
f'oops! The number I was thinking of was {number}.'
์ ๊ฐ์ด ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํด์ฃผ์ธ์.5๋ฒ ์ด๋ด์ number๋ฅผ ๋งํ๋ค๋ฉด ๋งํ์ ๋์ ๋ฌธ์ฅ์ ์ถ๋ ฅ ํ ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋์ค๋๋ก ํด์ผ ํฉ๋๋ค.
continue#
๋ฐ๋ณต๋ฌธ์์ continue๋ฅผ ๋ง๋๋ฉด continue ์๋์ชฝ์ ์๋ ๋ชจ๋ ์ฝ๋๋ ์คํํ์ง ์๊ณ while๋ฌธ์ด ์๋ ๋ผ์ธ์ผ๋ก ์ด๋ํ๋ค. ์ฆ, ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ฑด๋๋ฐ๊ธฐ๋ฅผ ํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ํค์๋์ด๋ค.
์๋ ์ฝ๋์์๋ โ2โ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉด ์ถ๋ ฅํ์ง ์๊ณ ๊ฑด๋๋ด๋ค.
count = 0
while count < 31:
count += 1
if '2' in str(count):
continue
print(f'{count}')
1
3
4
5
6
7
8
9
10
11
13
14
15
16
17
18
19
30
31
๐๋ฌธ์ . 3, 6, 9 ๊ฒ์์ ๋ง๋ค์ด๋ณด์ธ์. 3,6,9๊ฐ ๋ฌธ์์ด์ ๋ค์ด ์๋ ๊ฒฝ์ฐ์๋ ๋ฐ์๋ฅผ ์ซ์๋งํผ ์ถ๋ ฅํ์์ค.
print(f'{"๐"*count}') #https://www.emojiengine.com/ko/keyboard/
1
2
๐๐๐
4
5
๐๐๐๐๐๐
7
8
......
28
๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐
......
while ์ค์ฒฉ๋ฌธ#
์ค์ฒฉ while๋ฌธ์ while๋ฌธ ์์ while๋ฌธ์ด ๋ค์ด ์๋ ๊ฒ์ ๋งํ๋ค.
out_num = 1
while out_num <= 5:
in_num = 1
while in_num <= out_num:
print('๐ฉ', end='')
in_num += 1
print()
out_num += 1
๐ฉ
๐ฉ๐ฉ
๐ฉ๐ฉ๐ฉ
๐ฉ๐ฉ๐ฉ๐ฉ
๐ฉ๐ฉ๐ฉ๐ฉ๐ฉ
for loop#
while๋ฌธ์ด ์ฃผ์ด์ง ์กฐ๊ฑด์ ๋ํด ๋ฐ๋ณตํ๋ ๊ฒ์ด์๋ค๋ฉด for๋ฌธ์ ์ฃผ์ด์ง ๋ฒ์์ ๋ํด ์ํํ๋ค.
for statements#
for ๋ณ์ in ๋ฒ์(๋ฐ๋ณต๊ฐ๋ฅํ ๊ฒ๋ค):
statements
next_statements
while๋ฌธ์์๋ ์กฐ๊ฑด์ ์ฌ์ฉ๋ ๋ณ์๋ฅผ while๋ฌธ ์ ์ ๋ฏธ๋ฆฌ ์ ์ํด์ผ ํ๋ค. ๊ทธ๋ฌ๋ for๋ฌธ์์๋ for ๋ค์์ ๋ฐ๋ก ์ ์ํ๋ฉด ๋๋ค.
๋ฒ์์๋ range, ๋ฌธ์์ด, ๋ฆฌ์คํธ, ํํ, ๋์ ๋๋ฆฌ ๋ฑ ๋ฐ๋ณต๊ฐ๋ฅํ ๋ฐ์ดํฐ ํ์ (iterable data type)๋ค์ด ์ฌ ์ ์๋ค.
for๋ฌธ๊ณผ ํจ๊ป ์ ์ฉํ๊ฒ ์ฌ์ฉ๋๋ range() ํจ์๋ฅผ ๋จผ์ ์์๋ณด์.
range() ํจ์๋ ์ผ์ ํ ๊ท์น์ ๋ฐ๋ผ ๋์ด๋ ์์ด์ ์์ฑํ๋ค.
range(์์, ๋, ๊ฐ๊ฒฉ)
์์: ๋ฒ์์ ์์ ๊ฐ์ด๋ฉฐ, ์๋ตํ๋ฉด 0์ด๋ค.
๋: ๋ฒ์์ ๋๊ฐ์ด๋ฉฐ, ๋๊ฐ์ ๋ฒ์์ ๋ฏธํฌํจ์ด๋ค.
๊ฐ๊ฒฉ: ๋ฒ์์ ๊ฐ๊ฒฉ์ด๋ฉฐ, ์๋ตํ๋ฉด 1์ด๋ค. ๊ฐ๊ฒฉ์ ๋ฐฉํฅ๋ ๊ฒฐ์ ์ง๋๋ฐ, ๊ฐ์ด ์์์ด๋ฉด ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ๊ฐ๊ฒฉ๋งํผ ๊ฑด๋๋ด๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ |
์๋ฏธ |
์์ |
---|---|---|
|
[0, 1, 2, 3, โฆ, ๋-1] |
range(4) โ [0, 1, 2, 3] |
|
[์์, ์์+1, ์์+2, โฆ, ๋-1] |
range(3, 5) โ [3, 4] |
|
[์์, ์์+์ฆ๊ฐ, ์์+์ฆ๊ฐร2, โฆ, ์์+์ฆ๊ฐรk] |
range(2, 11, 2) โ [2, 4, 6, 8, 10] |
|
[์์, ์์-์ฆ๊ฐ, ์์-์ฆ๊ฐร2, โฆ, ์์-์ฆ๊ฐรk] |
range(9, 1, -2) โ [9, 7, 5, 3] |
range() ํจ์์ ์๋ฅผ ์ดํด๋ณด์.
range(1, 10)
์ 1๋ถํฐ 9๊น์ง ์์ด์ ์์ฑํ๋ค.range(10)
์ ์์ ๊ฐ ์๋ต์ผ๋ก 0๋ถํฐ 9๊น์ง ์์ด์ ์์ฑํ๋ค.range(3, 10, 3)
์ 3๋ถํฐ 9๊น์ง 3์ฉ ๊ฐ๊ฒฉ์ผ๋ก ์์ด์ ์์ฑํ๋ค.range(10, 3, -3)
์ 10๋ถํฐ 4๊น์ง -3์ฉ ๊ฐ๊ฒฉ์ผ๋ก ์์ด์ ์์ฑํ๋ค.
list()๋ฅผ ํ์ฉ
list()์ ํจ๊ป ํ์ฉํ๋ฉด range()ํจ์์์ ์์ฑํ ์์ด์ ๋ฆฌ์คํธ๋ฅผ ๋ณผ ์ ์๋ค.
์, list(range(1, 10))
list(range(1, 10))
list(range(10))
list(range(3, 10, 3))
list(range(10, 3, -3))
[10, 7, 4]
๋ฒ์์ range()
๋ฅผ ๋ฃ์ด๋ณด์.1๋ถํฐ 10๊น์ง ๋ฒ์๋ฅผ ๋ณ์ count๊ฐ ๊ทธ ๊ฐ์ ์์๋๋ก ์ ์ฅํ๋ฉด์ ๋ฐ๋ณตํ๋ค.
๋น์ทํ ์ถ๋ ฅ๊ฒฐ๊ณผ๋ฅผ while๋ฌธ์์๋ ํด๋ดค์ ๊ฒ์ด๋ค. for๋ฌธ์ด while๋ฌธ๋ณด๋ค๋ ์ฝ๋๊ฐ ๊ฐ๊ฒฐํ ๊ฒ์ ์ ์ ์๋ค.
for count in range(1, 11):
print(f'๐ณ๋ฅผ {count}๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. {"๐ณ"*count}')
print('์~ ๊ณต๊ธฐ์ข๋ค~~~')
๐ณ๋ฅผ 1๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ
๐ณ๋ฅผ 2๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ
๐ณ๋ฅผ 3๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ
๐ณ๋ฅผ 4๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ๐ณ
๐ณ๋ฅผ 5๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ๐ณ๐ณ
๐ณ๋ฅผ 6๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ
๐ณ๋ฅผ 7๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ
๐ณ๋ฅผ 8๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ
๐ณ๋ฅผ 9๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ
๐ณ๋ฅผ 10๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ
์~ ๊ณต๊ธฐ์ข๋ค~~~
for count in range(1, 11, 2):
print(f'๐ณ๋ฅผ {count}๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. {"๐ณ"*count}')
print('์~ ๊ณต๊ธฐ์ข๋ค~~~')
๐ณ๋ฅผ 1๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ
๐ณ๋ฅผ 3๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ
๐ณ๋ฅผ 5๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ๐ณ๐ณ
๐ณ๋ฅผ 7๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ
๐ณ๋ฅผ 9๊ทธ๋ฃจ ์ฌ์์ต๋๋ค. ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ๐ณ
์~ ๊ณต๊ธฐ์ข๋ค~~~
๐๋ฌธ์ . for๋ฌธ์ ์ด์ฉํ์ฌ ๊ตฌ๊ตฌ๋จ 2๋จ์ ์ถ๋ ฅํด๋ณด์ธ์. ^^^
test case-1
2 x 1 = 2
2 x 2 = 4
2 x 3 = 6
2 x 4 = 8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
๋ฐ๋ณต๋ฌธ์์์ ๊ฐ์ ๋์ ์ํค๊ธฐ ์ํด์๋ ๋์ ์ ์ํ ๋ณ์๋ฅผ ๋ฐ๋ณต๋ฌธ ๋ฐ ์์ชฝ์ ์ ์ํด์ผ ํ๋ค.
์๋ ์ฝ๋์์ total์ ์ฒ์์ 0์ด์์ง๋ง ๋ฐ๋ณตํ ๋๋ง๋ค total = total + i์ ์ํด 1=0+1, 3=1+2, 6=3+3, 10=6+4โฆ..๋ก ๋์ ๊ฐ์ ๊ฐ์ง๋ค.
total=0
for i in range(1,11):
total = total+i
print(total)
print("The total is", total)
1
3
6
10
15
21
28
36
45
55
The total is 55
๋ฌธ์์ด ์ํ:
๋ฒ์์ ๋ฌธ์์ด
์ ๋ฃ์ ์ ์๋ค. ๋ฌธ์์ด์ ๊ฒฝ์ฐ ๋ณ์ i๊ฐ ํ ๊ธ์์ฉ ์ํํ๋ค.
for i in 'Hello World':
print (i)
H
e
l
l
o
W
o
r
l
d
๋ฆฌ์คํธ ์ํ:
๋ฒ์์ ๋ฆฌ์คํธ
๋ฅผ ๋ฃ์ ์ ์๋ค. ๋ฆฌ์คํธ์ ๊ฒฝ์ฐ ๋ณ์ i๊ฐ ๋ฆฌ์คํธ๋ด ์์ดํ (์์, ์์, ์๋ฆฌ๋จผํธ)๋ฅผ ํ๋์ฉ ์ํํ๋ค.๋ฆฌ์คํธ๋ ์์ง ์ ๋ฐฐ์ ์ผ๋ [โprogrammingโ, โpastaโ, โspamโ, โplay parkโ] ์ด๋ฌํ ๊ตฌ์กฐ๊ฐ ๋ฆฌ์คํธ๋ผ๋ ๊ฒ๋ง ๋์ ์ตํ๋์.
for i in ['programming', 'pasta', 'spam', 'play park']:
print (i)
programming
pasta
spam
play park
๋์ ๋๋ฆฌ ์ํ:
๋ฒ์์ ๋์ ๋๋ฆฌ
๋ฅผ ๋ฃ์ ์ ์๋ค. ๋์ ๋๋ฆฌ์ ๊ฒฝ์ฐ ๋ณ์ i๊ฐ ๋์ ๋๋ฆฌ์ key๋ฅผ ํ๋์ฉ ์ํํ๋ค.๋์ ๋๋ฆฌ ๋ํ ์์ง ์ ๋ฐฐ์ ์ผ๋ {โ2323-12345โ:โ๊ฐ์โ, โ2323-12346โ:โ๋์โ} ์ด๋ฌํ ๊ตฌ์กฐ๊ฐ ๋์ ๋๋ฆฌ๋ผ๋ ๊ฒ๋ง ๋์ ์ตํ๋์.
for i in {'2323-12345':'๊ฐ์', '2323-12346':'๋์'}:
print (i)
2323-12345
2323-12346
for~else#
for๋ฌธ์๋ else๊ฐ ์๋ค. while ~ else์ ๋ง์ฐฌ๊ฐ์ง๋ก for๋ฌธ์ด ์ ์์ ์ผ๋ก ๋ชจ๋ ๋ฐ๋ณต์ ๋ค ํ ๊ฒฝ์ฐ์๋ง ์คํํ๋ค.
for ๋ณ์ in ๋ฆฌ์คํธ(or ๋ฌธ์์ด ๋ฑ) :
statements1
if ์กฐ๊ฑด:
if_statements
break
statements2
else:
else_statements
next_statements
a = 'computer'
letter = 'u'
for i in a:
if i == letter:
print(f'{letter}๊ฐ ๊ฒ์๋์์ต๋๋ค.')
break
else:
print(f'{letter}๋ ๊ฒ์๋์ง ์์์ต๋๋ค.')
print('END')
u๊ฐ ๊ฒ์๋์์ต๋๋ค.
END
for ์ค์ฒฉ๋ฌธ#
์ค์ฒฉ for๋ฌธ์ for๋ฌธ ์์ ๋ค๋ฅธ for๋ฌธ์ด ๋ค์ด ์๋ ๊ฒ์ ๋งํ๋ค.
for dan in range(2,10):
print(f'{dan}๋จ')
for num in range(1,10):
print(f'{dan}*{num}={dan*num}')
print()
2๋จ
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
3๋จ
3*1=3
3*2=6
3*3=9
3*4=12
3*5=15
3*6=18
3*7=21
3*8=24
3*9=27
4๋จ
4*1=4
4*2=8
4*3=12
4*4=16
4*5=20
4*6=24
4*7=28
4*8=32
4*9=36
5๋จ
5*1=5
5*2=10
5*3=15
5*4=20
5*5=25
5*6=30
5*7=35
5*8=40
5*9=45
6๋จ
6*1=6
6*2=12
6*3=18
6*4=24
6*5=30
6*6=36
6*7=42
6*8=48
6*9=54
7๋จ
7*1=7
7*2=14
7*3=21
7*4=28
7*5=35
7*6=42
7*7=49
7*8=56
7*9=63
8๋จ
8*1=8
8*2=16
8*3=24
8*4=32
8*5=40
8*6=48
8*7=56
8*8=64
8*9=72
9๋จ
9*1=9
9*2=18
9*3=27
9*4=36
9*5=45
9*6=54
9*7=63
9*8=72
9*9=81
๋ง๋ฌด๋ฆฌ#
๋ฐ๋ณต๊ตฌ์กฐ๋ ์กฐ๊ฑด ๋๋ ๋ฒ์์ ๋ฐ๋ผ ์คํ๋ฌธ์ฅ์ ๋ฐ๋ณตํ๋ค.
while๋ฌธ์ ์กฐ๊ฑด๋น๊ต ๊ฒฐ๊ณผ๊ฐ True์ธ ๋์ ๋ธ๋ก ์์ค์ฝ๋๋ฅผ ๋ฐ๋ณต ์ํํ๋ค.
for๋ฌธ์ ๋ฒ์์ ์ฒ์๋ถํฐ ๋๊น์ง ์ฐจ๋ก๋๋ก ๋ฐ๋ณตํ๋ค.
for๋ฌธ์ in ์ฐ์ฐ์ ๋ค์๋ ๋ฐ๋ณต๊ฐ๋ฅํ ๋ฐ์ดํฐํ์ ์ธ ์ซ์, ๋ฆฌ์คํธ, ๋ฌธ์์ด, ๋์ ๋๋ฆฌ, ํํ, ์ ๋ฑ์ด ์ฌ ์ ์๋ค.
for ๋ค์์ ๋ณ์๋ in ๋ค์ ์๋ ์๋ฃ๊ฐ์ ํ๋์ฉ ์ฐจ๋ก๋๋ก ์ ์ฅํ๋ค.
for๋ฌธ์ ์ซ์๊ฐ์ ๋ฒ์๋ฅผ ๋ง๋ค์ด์ฃผ๋ range()ํจ์๋ฅผ ์ ์ฉํ๊ฒ ํ์ฉํ๋ค.