python ๋ฐ๋ณต๋ฌธ์๋ for ๋ฐ๋ณต๋ฌธ๊ณผ while ๋ฐ๋ณต๋ฌธ์ด ์์ต๋๋ค. python for๋ฌธ๊ณผ while๋ฌธ์ ์ฐจ์ด์ ์ผ๋ก ํฌ๊ฒ for๋ฌธ์ ๋ฐ๋ณต ํ์๊ฐ ์ ํด์ ธ ์์ ๋ ์ฌ์ฉํ๊ณ while๋ฌธ์ ๋ฌดํ ๋ฃจํ๊ฐ ํ์ํ ๋ ์ฌ์ฉํฉ๋๋ค.
โฃ ๋ชฉ์ฐจ
1. for ๋ฐ๋ณต๋ฌธ๐คนโ๏ธ
for ๋ฐ๋ณต๋ฌธ์ ์ฃผ๋ก ์๋ ๋ค์ฏ ๊ฐ์ง์ ํํ๋ก ์ฌ์ฉํฉ๋๋ค.
if ์กฐ๊ฑด๋ฌธ์ด๋ while ๋ฐ๋ณต๋ฌธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก for๋ฌธ์ ํด๋นํ์ฌ ์คํ๋ ๋ฌธ์ฅ์ ๋ฐ๋ก ์๋์ค์ 4์นธ ๋ค์ฌ ์ฐ๊ธฐ๋ฅผ ํด์ค๋๋ค.
- for ๋ณ์๋ช
in ๋ฆฌ์คํธ๋ช
:
๋ฐ๋ณตํ ์ฝ๋ - for ๋ณ์๋ช
in range(ํ์):
๋ฐ๋ณตํ ์ฝ๋ - for ๋ณ์๋ช
in range(์์๊ฐ, ๋๊ฐ+1):
๋ฐ๋ณตํ ์ฝ๋ - for ๋ณ์๋ช
in range(์์๊ฐ, ๋๊ฐ, ์ฆ๊ฐ๊ฐ):
๋ฐ๋ณตํ ์ฝ๋ - for_in range(ํ์):
๋ฐ๋ณตํ ์ฝ๋
for๋ฌธ์ ์ํ์ค ์๋ฃํ์ธ ๋ฆฌ์คํธ, ๋ฌธ์์ด, ํํ, ๋น์ํ์ค ์๋ฃํ์ธ ๋์ ๋๋ฆฌ์ ์ธํธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. (์ฒซ ๋ฒ์งธ ํํ)
๋ํ ๋ฒ์ ์๋ฃํ์ธ range() ํจ์๋ฅผ ํจ๊ป ์ฌ์ฉํ๊ธฐ๋ ํฉ๋๋ค. (๋ ๋ฒ์งธ๋ถํฐ ๋ค ๋ฒ์งธ ํํ)
๋ฐ๋ณต๋ฌธ์ ์ฌ๋ฌ ๊ฒน ์ค์ฒฉํ๋ "์ค์ฒฉ ๋ฐ๋ณต๋ฌธ"์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
๋ค์ฏ๋ฒ์งธ ํํ์ธ for_in range(ํ์)๋ฅผ ํตํด ๋ฐ๋ณตํ ๋ณ์๋ฅผ ์๋ตํด์ ์ฌ์ฉํ ์ ์์์ ์ ์ ์์ต๋๋ค. ํ์๋ฅผ ๋ฐ๋ณต๋ง ํ๊ณ ์ถ์ ๋ ์ ์ฝ๋์ ํํ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
์ฒซ ๋ฒ์งธ๋ถํฐ ๋ค ๋ฒ์งธ๊น์ง์ ํํ๋ ํ๋์ฉ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
2. ์ํ์ค์ for ๋ฐ๋ณต๋ฌธ๐คนโ๏ธ
for๋ฌธ๊ณผ ํจ๊ป ์ฌ์ฉํ๋ ์ํ์ค ์๋ฃํ์๋ ๋ฆฌ์คํธ, ํํ, ๋ฌธ์์ด์ด ์์ต๋๋ค.
์ํ์ค ์๋ฃํ์ ๋ํด ๊ถ๊ธํ์๋ค๋ฉด? ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํด ์ฃผ์ธ์๐
โถ for๋ฌธ๊ณผ ๋ฆฌ์คํธ
๊ธฐ๋ณธ ํํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
for ๋ณ์๋ช
in ๋ฆฌ์คํธ๋ช
:
โ
โ
โ
โ
๋ฐ๋ณตํ ์ฝ๋
(โ โ โ โ ๋ ๋ค์ฌ ์ฐ๊ธฐ 4์นธ ์๋ฏธ)
ํ์ด์ฌ for๋ฌธ์ ๋ฆฌ์คํธ์ ์ ์ฉํ ์์ ๋ฅผ ํตํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
for n in [1, 2, 3]:
print(n)
๋ณ์ n์ ๋ฆฌ์คํธ [1, 2, 3]์ for๋ฌธ์ผ๋ก ๋ฐ๋ณตํ๊ณ ์ถ๋ ฅํ๋๋ 1, 2, 3์ด ํ ์ค์ฉ ์ฐจ๋ก์ฐจ๋ก ์ถ๋ ฅ๋์์ต๋๋ค.
โถ for๋ฌธ๊ณผ ๋ฌธ์์ด
๋ฌธ์์ด๋ ๋ฆฌ์คํธ์ ๊ธฐ๋ณธ ํํ๋ ๋์ผํฉ๋๋ค. ์ด๋ฒ์๋ for๋ฌธ ์์ ๋ก ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
for ch in 'Hello':
print(ch)
๋ณ์ ch์ ๋ฌธ์์ด 'Hello'๋ฅผ for๋ฌธ์ผ๋ก ๋ฐ๋ณตํ๊ณ ์ถ๋ ฅํ๋๋ H, e, l, l, o๊ฐ ;ํ ์ค ์ฉ ์ฐจ๋ก์ฐจ๋ก ์ถ๋ ฅ๋์์ต๋๋ค.
โถ for๋ฌธ๊ณผ ํํ
ํํ๋ for๋ฌธ์ ํ์ฉํ๋ฉด ๋ฆฌ์คํธ์ ๋ฌธ์์ด๊ณผ ๊ธฐ๋ณธํํ๋ ๊ฐ์ต๋๋ค. ์ด๋ฒ์๋ ์์ ๋ก ์ดํด๋ณด๊ฒ ์ต๋๋ค.
four_seasons = ('Spring', 'Summer', 'Autumn', 'Winter')
for season in four_seasons:
print(season)
๋ณ์ four_seasons์ ํํ์ ๊ฐ์ธ 'Spring', 'Summer', 'Autumn', 'Winter'๋ฅผ ๋ฃ๊ณ for๋ฌธ์ผ๋ก ๋ฐ๋ณตํ๊ณ ์ถ๋ ฅํ๋๋ ์ด๋ฒ์๋ Spring, Summer, Autumn, Winter ๊ฐ ํ ์ค ์ฉ ์ฐจ๋ก์ฐจ๋ก ์ถ๋ ฅ๋์์ต๋๋ค.
3. ๋ฆฌ์คํธ ๋ดํฌ๐ฅ
๋ฆฌ์คํธ๋ฅผ ์์ฑํ ๋ for๋ฌธ์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
๋ฆฌ์คํธ ๋ด๋ถ์ for๋ฌธ์ ํฌํจํ๋ "๋ฆฌ์คํธ ๋ดํฌ" ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ๋ฆฌ์คํธ๋ฅผ ์ฝ๊ฒ ์์ฑํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ธ ํํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฆฌ์คํธ = [ํํ์ for ๋ณ์ in ๋ฐ๋ณต๊ฐ๋ฅ๊ฐ์ฒด]
๋ฆฌ์คํธ = [ํํ์ for ๋ณ์ in ๋ฐ๋ณต๊ฐ๋ฅ๊ฐ์ฒด if ์กฐ๊ฑด์]
append() ํจ์์ ๋ฆฌ์คํธ ๋ดํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌ์คํธ์ ๊ฐ์ ์ถ๊ฐํ๋ ๋ฐฉ์์ ๋น๊ตํด ๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ append() ํจ์๋ฅผ ์ด์ฉํ์ฌ ๋ฆฌ์คํธ์ ๊ฐ์ ์ถ๊ฐํ๋ ์์ ๋ฅผ ํ์ธํด ๋ณผ๊น์?
list = [1, 2, 3, 4, 5]
num1 = []
for n in list:
num1.append(n * 2)
print(num1)
list์ [1, 2, 3, 4, 5]์ ๊ฐ์, um1์๋ ๋น ๋ฆฌ์คํธ๋ฅผ ๋์
ํ๊ณ ์ ์ธํ์ต๋๋ค.
num1 ๋ฆฌ์คํธ๋ ๋ฐ๋ณตํ ๊ฒฐ๊ณผ์ ๊ฐ์ ๋ด์ ๋ณ์์ ๋๋ค.
for n in list : num.append(n*2)๋ฅผ ํตํด n์ 2๋ฅผ ๊ณฑํ ํ num1 ๋ฆฌ์คํธ์ ์ถ๊ฐํ์ต๋๋ค.
์ด๋ฒ์๋ ๊ฐ์ ๊ฐ์ ๊ฐ์ง list๋ฅผ ๋ฆฌ์คํธ ๋ดํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์ถ๊ฐํด ๋ณด๊ฒ ์ต๋๋ค.
list = [1, 2, 3, 4, 5]
num1 = [n * 2 for n in list]
print(num1)
append ํจ์์ ๋นํด ๋์ฑ ๊ฐ๋จํ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
4. ๋น์ํ์ค์ for ๋ฐ๋ณต๋ฌธ๐คธโ๏ธ
์ด๋ฒ์๋ ๋น์ํ์ค ์๋ฃํ๊ณผ for๋ฌธ์ ํจ๊ป ์ฌ์ฉํด ๋ณด๊ฒ ์ต๋๋ค.
๋น์ํ์ค ์๋ฃํ์๋ ๋์ ๋๋ฆฌ์ ์ธํธ๊ฐ ์์ต๋๋ค.
๋น์ํ์ค ์๋ฃํ์ ๋ํด ๊ถ๊ธํ์๋ค๋ฉด? ์๋ ํฌ์คํ ์ ์ฐธ๊ณ ํด ์ฃผ์ธ์๐
โถ for๋ฌธ๊ณผ ๋์
๋๋ฆฌ
๋น์ํ์ค ์๋ฃํ์ธ ๋์ ๋๋ฆฌ๋ ์ํ์คํ ์๋ฃํ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก for๋ฌธ์ ์ฌ์ฉํ๋ ํํ๋ ์๋์ ๊ฐ์ต๋๋ค.
person = {
'name':'์๋ฐ๋ฆฌ',
'age':20
}
for item1 in person:
print(item1)
ํ์ง๋ง ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ ๋์
๋๋ฆฌ์ ํน์ง์ด ๋ฐ์๋๋ ๊ฒ์ ๋ณผ ์๊ฐ ์์ต๋๋ค.
์ ์ฝ๋๋ฅผ ์คํํ ๊ฒฝ์ฐ ํค(key) ๊ฐ๋ง ์ถ๋ ฅ์ด ๋ฉ๋๋ค.
๋์ ๋๋ฆฌ์์ for๋ฌธ์ ์ฌ์ฉํ ๋ ์ฃผ์ํ ์ ์ ๋ด๋ถ์ ์๋ ํค๊ฐ ๋ณ์์ ๋ค์ด๊ฐ๋ค๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ผ ๊ฐ(value)์ ์ถ๋ ฅํ๊ณ ์ถ์ ๋๋ ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?
์ ์์ ์ ๋์ผํ ๋์ ๋๋ฆฌ๋ก ์ด๋ฒ์๋ for๋ฌธ์ ์ด์ฉํด ๊ฐ(value)์ ๋ถ๋ฌ์ค๋ ์์ ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
person = {
'name':'์๋ฐ๋ฆฌ',
'age':20
}
for item2 in person:
print(person[item2])
print(๋์
๋๋ฆฌ๋ช
[๊ฐ ๋ณ์])๋ก ์คํํ๋๋ ๊ฐ๋ง ์ถ๋ ฅํ ์ ์์์ต๋๋ค.
๋์
๋๋ฆฌ ํค์ ์ ๊ทผํ๋ ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์๋ get() ํจ์๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
์ด๋ฒ์๋ ๋์ผํ ํค, ๊ฐ์ ๊ฐ์ง ๋์ ๋๋ฆฌ๋ก get() ํจ์๋ฅผ ์ด์ฉํด ๊ฐ(value)์ ๋ถ๋ฌ์ค๋ ์์ ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
person = {
'name':'์๋ฐ๋ฆฌ',
'age':20
}
for item3 in person:
print(person.get(item3))
์ฌ์ค ์ ๋ ๊ฐ์ง์ ์์ ๋ก๋ ์ฐจ์ด์ ์ ๋ฐ๊ฒฌํ ์๊ฐ ์์ต๋๋ค.
get() ํจ์๋ฅผ ์ด์ฉํ๋ฉด ์กด์ฌํ์ง ์๋ ํค์ ์ ๊ทผํด๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
๋์ ๋๋ฆฌ ๋ด๋ถ์ ์กด์ฌํ์ง ์๋ ํค์ ์ ๊ทผํ๋ฉด KeyError๊ฐ ๋ฐ์ํฉ๋๋ค.
๊ทธ๋ฌ๋ get()ํจ์๋ฅผ ์ด์ฉํ๋ฉด KeyError๋ฅผ ๋ฐ์์ํค์ง ์๊ณ None์ ์ถ๋ ฅํฉ๋๋ค.
person = {
'name':'์๋ฐ๋ฆฌ',
'age':20
}
value = person.get('์กด์ฌํ์ง ์๋ ํค')
print(value)
์ ์์ ์์ get ํจ์๋ฅผ ์ด์ฉํด ์กด์ฌํ์ง ์๋ ํค๋ฅผ ๋ด์ value ํจ์๋ฅผ ์ถ๋ ฅํ๋๋ "None"์ด๋ ๊ฐ์ ์ถ๋ ฅํ์ต๋๋ค.
โถ for๋ฌธ๊ณผ set
set์ for๋ฌธ์ ์ฌ์ฉํด ๋ณด๋ฉด set์ ํน์ง์ด ๋ฐ์๋ ํ ๊ฐ์ง ์ฐจ์ด์ ์ ํ์ธํ ์ ์์ต๋๋ค.
for item in {'for๋ฌธ', '๋น์ํ์ค', 'set'}:
print(item)
set๋ ์์๊ฐ ์๋ ์๋ฃํ์ด๋ฏ๋ก for๋ฌธ์ ์ฌ์ฉํ์ฌ ์ถ๋ ฅํ๋๋ ์์ฑํ๋ ์์์ ์๊ด์์ด ์์ฌ์ ์ถ๋ ฅ๋ฉ๋๋ค.
5. for ๋ฌธ๊ณผ range()๐
ํ์ด์ฌ for๋ฌธ์ ๋ฆฌ์คํธ์ ๋์ ๋๋ฆฌ ์ธ์๋ ๋ฒ์ ์๋ฃํ์ธ range() ํจ์๋ฅผ ํจ๊ป ์ฌ์ฉํฉ๋๋ค.
๋ฒ์๋ฅผ ๋ง๋ค ๋ for๋ฐ๋ณต๋ฌธ๊ณผ range() ํจ์๋ฅผ ํจ๊ป ์ฌ์ฉํด ์ค๋๋ค.
for๋ฐ๋ณต๋ฌธ๊ณผ range() ํจ์๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ 3๊ฐ์ง๊ฐ ์์ต๋๋ค.
โถ for ๋ณ์ in range(๋ฒ์)
for ๋ณ์ in range(๋ฒ์)
๋งค๊ฐ๋ณ์์ ๋ฒ์ ํ๋๋ง ๋ฃ์ ๊ฒฝ์ฐ ํด๋นํ๋ ๋ฒ์๋งํผ ๋ฐ๋ณตํฉ๋๋ค.
๋งค๊ฐ๋ณ์์ ์ด๊ธฐ๊ฐ์ 0๋ถํฐ ์์ํฉ๋๋ค.
์์ ๋ฅผ ํตํด ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
for i in range(10):
print(f'{i}๋ฒ์งธ ๋ฌธ์ฅ์
๋๋ค.')
๋ฒ์๋ก 10์ ์์ฑํ๋๋ ๋ณ์๋ฅผ 10๋ฒ ๋ฐ๋ณต ์คํํ๊ณ i ๋ณ์์ ์ด๊ธฐ๊ฐ์ 0์ด๋ฏ๋ก 0๋ฒ์งธ๋ถํฐ 9๋ฒ์งธ ๋ฌธ์ฅ๊น์ง ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
โถ for ๋ณ์ in range(์ด๊ธฐ ๊ฐ, ๋ ๊ฐ)
for ๋ณ์ in range(์ด๊ธฐ ๊ฐ, ๋ ๊ฐ)
๋งค๊ฐ๋ณ์์ ์ด๊ธฐ ๊ฐ, ๋ ๊ฐ์ ๋ฃ์ ๊ฒฝ์ฐ ์ด๊ธฐ ๊ฐ ~ ๋ ๊ฐ-1์ ๋ฒ์๋งํผ ๋ฐ๋ณต๋ฉ๋๋ค.
ํ ๊ฐ์ง ์ฃผ์ํ ์ ์ ๋ด๊ฐ ์ํ๋ ๊ฐ๊น์ง ์คํํ๊ณ ์ถ๋ค๋ฉด ๋ ๊ฐ์ + 1์ ํด์ฃผ์ด์ผ ํฉ๋๋ค.
for i in range(1, 11):
print(f'{i}๋ฒ์งธ ๋ฌธ์ฅ์
๋๋ค.')
i ๋ณ์์ ์ด๊ธฐ ๊ฐ์ 1, ๋ ๊ฐ์ 10์ด ๋ฉ๋๋ค.
๊ทธ๋์ 1๋ฒ์งธ ๋ฌธ์ฅ์ ๋๋ค.๋ถํฐ 10๋ฒ์งธ ๋ฌธ์ฅ์ ๋๋ค. ๊ฐ ์ถ๋ ฅ๋๊ณ ์ด 10๋ฒ ๋ฐ๋ณต์ด ๋ฉ๋๋ค.
โถ for ๋ณ์ in range(์ด๊ธฐ ๊ฐ, ๋ ๊ฐ, ์ฆ๊ฐ ๊ฐ)
for ๋ณ์ in range(์ด๊ธฐ ๊ฐ, ๋ ๊ฐ, ์ฆ๊ฐ ๊ฐ)
๋งค๊ฐ๋ณ์์ ์ด๊ธฐ ๊ฐ ~ ๋ ๊ฐ-1 ์ฌ์ด์์ ์ฆ๊ฐ ๊ฐ๋งํผ ๋ฐ๋ณต๋ฉ๋๋ค.
ํ์๋ง ์ถ๋ ฅํ๋ ์์ ๋ฅผ ํตํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
for i in range(1, 11, 2):
print(f'{i}๋ฒ์งธ ๋ฌธ์ฅ์
๋๋ค.')
1๋ถํฐ 10๊น์ง์ ์ซ์ ์ค์์ 2์ฉ ์ฆ๊ฐํ์๊ณ ํ์๋ง ํฌํจํ ๋ฌธ์ฅ์ด ์ถ๋ ฅ๋์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ํ์ด์ฌ for๋ฌธ์ ๊ฑฐ๊พธ๋ก ํด๋ณผ๊น์?
ํฐ ์์์ ์์ ์๋ก ๊ฐ์์ํค๋ฉด์ ์ถ๋ ฅํ๊ณ ์ถ์ ๋๋ ์ด๋ป๊ฒ ํด์ผ ํ ๊น์?
์ญ๋ฐ๋ณต๋ฌธ์ ์์ ๋ก ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
for i in range(10, 0, -1):
print(f'{i}๋ฒ์งธ ๋ฌธ์ฅ์
๋๋ค.')
range() ํจ์ ์์ 3๋ฒ์งธ ๋งค๊ฐ๋ณ์, ์ฆ ์ฆ๊ฐ, ๊ฐ์ ๊ฐ์ ๋ํ๋ด๋ ์๋ฆฌ๋ฅผ -์ซ์๋ฅผ ์์ฑํ๋ฉด ํด๋น ๊ฐ๋ง ํผ ๊ฐ์๋ฉ๋๋ค.
range(10, 0, -1)์ ํตํด 10๋ถํฐ 1๊น์ง ์๋ฅผ -1์ฉ ๊ฐ์ํ์ฌ ์ถ๋ ฅํ์ต๋๋ค.
๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ reversed() ํจ์๋ฅผ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
for i in reversed(range(10)):
print(f'{i}๋ฒ์งธ ๋ฌธ์ฅ์
๋๋ค.')
reversed() ํจ์๋ฅผ ์ด์ฉํ๋ฉด range(10)์ ๋ฒ์๊ฐ 0๋ถํฐ 9๊น์ง๊ฐ ์๋ 9๋ถํฐ 0๊น์ง ๋ค์ง์ด์ง๋๋ค.
6. ์ค์ฒฉ ๋ฐ๋ณต๋ฌธ๐ก
for๋ฌธ์ ์ฌ๋ฌ ๋ฒ ์ค์ฒฉํด์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
์ค์ฒฉ ๋ฐ๋ณต๋ฌธ์ n-์ฐจ์์ ์ฒ๋ฆฌ๋ฅผ ํ ๋ ์ฌ์ฉํฉ๋๋ค.
n-์ฐจ์์ ์ฒ๋ฆฌ๋ฅผ ๊ฐ์ฅ ์ฝ๊ฒ ๋ณผ ์ ์๋ ๊ฒ์ด ๊ตฌ๊ตฌ๋จ์ ๋๋ค.
ํ์ด์ฌ ์ค์ฒฉ for๋ฌธ์ ๊ตฌ๊ตฌ๋จ ์์ ๋ฅผ ํตํด ์ดํด๋ณด๊ฒ ์ต๋๋ค.
for i in range(2, 10):
print('----{}๋จ----'.format(i))
for k in range(1, 10):
print('{} X {} = {}'.format(i, k, i * k))
์ฒซ ์งธ์ค์ ์๋ ์ฝ๋ for i in range(2, 10): ๋ฅผ ํตํด 2๋จ๋ถํฐ 9๋จ๊น์ง ๋ฐ๋ณตํ ์ ์์ต๋๋ค.
๋ ๋ฒ์งธ ์ค์ ์๋ ์ฝ๋ ;print('----{}๋จ----'. format(i)) ๋ ----๋จ์ ๋ชฉ----์ ์ถ๋ ฅํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ ์งธ์ค์ ์์นํ, ์๋ก ์์ํ๋ ์์ชฝ for๋ฌธ์ ๋ ๋ฒ์งธ ์ค๊ณผ ๋์ผ ์ ์์์ ์์ํฉ๋๋ค.
์ค์ฒฉ for๋ฌธ์ ์ฌ์ฉํ ๋๋ ๋ค์ฌ ์ฐ๊ธฐ๋ฅผ ์ํด์ฃผ์ด์ผ ํฉ๋๋ค.
์ ์งธ์ค์ ์๋ ์ฝ๋ for k in range(1, 10): ๋ฅผ ํตํด 1๋ถํฐ 9๊น์ง ๋จ์ ๊ณฑํด์ง๋ ์๋ฅผ ๋ฐ๋ณตํฉ๋๋ค.
๋ง์ง๋ง ์ค์ ์๋ ์ฝ๋๋ก ๊ตฌ๊ตฌ๋จ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํด ์ค๋๋ค.
์ด์ค for๋ฌธ์ (์ค์ฒฉ for๋ฌธ) ์ฒ์์๋ ๋ค์ ์ด๋ ต๊ฒ ๋๊ปด์ง ์ ์์ด์ ๋ง์ ์์ ๋ฅผ ์ดํด๋ณด๋ ๊ฒ ์ข์ต๋๋ค.
ํ์ด์ฌ ์ด์ค for๋ฌธ ์์ ๋ฅผ ๋ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ค์ฒฉ for๋ฌธ์ ์ด์ฉํ ๋ณ์ ์ฐ์ด ๋ชจ์์ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค.
for i in range(5):
for j in range(i+1)
print('*', end='')
print()
i๋ ์ ์ฒด ๋ฒ์๋ฅผ ์ด 5๋ฒ ๋ฐ๋ณตํฉ๋๋ค. ์ด๊ธฐ๊ฐ์ 0์ด๋ฏ๋ก ์ด 0~4๊น์ง๊ฐ ๋ฉ๋๋ค.
j๋ *์ ์ถ๋ ฅํ๋ ๋ฐ๋ณต์ i์ ๋ฒ์ ์์์ ์คํํฉ๋๋ค.
๋จ i๊ฐ ์ฒ์ ๋ฐ๋ณตํ๋ ์ด๊ธฐ ๊ฐ์ 0์ด๋ฏ๋ก *์ ์ถ๋ ฅํ๋ ค๋ฉด +1์ ํด์ฃผ์ด์ผ ์ฒซ ๋ฒ์งธ ์ค์ *์ด 1๊ฐ ์ฐํ๋๋ค.
i๊ฐ 0๋ฒ์งธ(์ด๊ธฐ๊ฐ) ๋ฐ๋ณตํ ๋ j๋ *์ 1๋ฒ ์ถ๋ ฅ, i๊ฐ 1๋ฒ ๋ฐ๋ณตํ ๋๋ j๊ฐ *2๋ฒ ๋ฐ๋ณต ์ถ๋ ฅํ๋ ์์ผ๋ก ์ด 5๋ฒ์ด ์งํ๋ฉ๋๋ค.
๋ ์ ์งธ์ค์ end=' '๋ฅผ ํตํด ๊ฐ์ i์ ๋ฒ์ ์์์ j๊ฐ ๋ฐ๋ณต๋๋ ๋์, print์ ํฌํจ๋ ๊ธฐ๋ณธ ๊ฐ์ธ ๋ค์์ค๋ก ๋์ด๊ฐ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
์ ์ผ ๋ง์ง๋ง์ค์ print()๋ ๊ฐ์ i์ ๋ฒ์ ์์์ j๋ฐ๋ณต์ด ๋๋ ๊ฒฝ์ฐ ๋ค์ ์ค๋ก ๋์ด๊ฐ ์ ์๊ฒ ํด ์ค๋๋ค.
์ด๋ฒ์๋ ๋ณ์ด 5๊ฐ๋ถํฐ 1๊ฐ๊น์ง ์ถ๋ ฅํด ๋ด
์๋ค.
์ด์ค for๋ฌธ๊ณผ if ์กฐ๊ฑด์์ ํ์ฉํ ์ฝ๋๋ฅผ ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
for i in range(5):
for j in range(5):
if i > j:
print(' ', end='')
else:
print('*', end='')
i๊ฐ 5๋ฒ ๋ฐ๋ณตํ ๋์ ๊ทธ ์์์ j๋ 5๋ฒ์ ๋ฐ๋ณตํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด๋ฒ์๋ j๊ฐ 5๋ฒ ๋ฐ๋ณตํ ๋์์ if ์กฐ๊ฑด์์ด ์์ต๋๋ค.
i๊ฐ j๋ณด๋ค ํฌ๋ค๋ฉด ์๋ฌด๊ฒ๋ ์ถ๋ ฅํ์ง ์๊ณ ๊ทธ ์ธ์๋ (i๊ฐ j๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋, ์ฆ i < = j ์ผ ๋) *์ ์ถ๋ ฅํ๋ ์กฐ๊ฑด์์ ๋๋ค.
์ ์ผ ์ฒ์์ i๊ฐ 0๋ฒ์งธ(์ด๊ธฐ๊ฐ) ๋ฐ๋ณตํฉ๋๋ค. ๊ทธ๋ j๊ฐ 0๋ฒ์งธ๋ถํฐ(์ด๊ธฐ๊ฐ) ๋ฐ๋ณต์ ์์ํ๋ ๋ฐ i=j ์ด๋ฏ๋ก *์ ํ๋ ์ถ๋ ฅํฉ๋๋ค. ๊ทธ๋ค์ i๊ฐ 0๋ฒ์งธ ๋ฐ๋ณตํ ๋ j๊ฐ 1๋ฒ์งธ ๋ฐ๋ณต์ ํฉ๋๋ค. i < j์ด๋ฏ๋ก *์ ํ๋ ์ถ๋ ฅํ๊ณ end=''๋ฅผ ํตํด ๋ค์ ํ์ผ๋ก ๋์ด๊ฐ์ง ์๊ณ ์ถ๋ ฅ๋ฉ๋๋ค.
i๊ฐ 0๋ฒ ์งธ์ผ ๋ j๊ฐ 5๋ฒ์งธ๊น์ง ๋ฐ๋ณตํ๋ ๋์ j๋ i์ ๊ฐ๊ฑฐ๋ ์์ ๊ฐ๋ง ํฐ ๊ฐ๋ง ๋์ค๋ฏ๋ก ์ฒซ ๋ฒ ์งธ์ค์๋ j๊ฐ ๋ฐ๋ณตํ๋ ๋งํผ *์ ๋ชจ๋ ์ถ๋ ฅํด ๋ ๋๋ค. i๊ฐ ๊ฐ์ ์๋ฒ์ ๋ฒ์ ์์์ j๊ฐ ๋ฐ๋ณต์ ๋คํ๊ณ ๋๋ฉด ์ด๋ฒ์๋ ์ ์ผ ๋ง์ง๋ง ์ค์ print()๋ฅผ ๋ง๋์ ๋ค์์ค์ ์ถ๋ ฅํ ์ ์๊ฒ ์คํํฉ๋๋ค.
์ด๋ฌํ ํจํด์ผ๋ก i๊ฐ 5๋ฒ ๋ฐ๋ณตํ ๋์ j๊ฐ ์กฐ๊ฑด์์ ๊ฐ์ง๊ณ 5๋ฒ ๋ฐ๋ณต ๋ฐ๋ณตํ๋ฉด ๋ณ์ ๋ค์ฏ ๊ฐ๋ถํฐ ํ ๊ฐ๊น์ง ๊ฐ ์ค์ ์ถ๋ ฅํด ๋ ๋๋ค.
7. ํต์ฌ ๋ด์ฉ๐