๐ ํ์: ๊น์ธ์ธ ๋ฐ์คํ ๋ฐ์งํธ ์์ ์ธ ์ธ์ํ
์์ฑ์ : ์ธ์ํ
์์ฑ์ผ : 3/18
์ง๋ : 2-6 ์งํฉ ์๋ฃํ
์งํฉ ์๋ฃํ์ ๋ง ๊ทธ๋๋ก '์งํฉ'์ ๋ค๋ฃจ๊ธฐ ์ํ ์์์ด๋ค.
s = set()๋ฅผ ํตํด ์งํฉ ์๋ฃํ์ ๋ง๋ค ์ ์๋ค.
s1 = set("code")์ ๊ฐ์ด ๋ฌธ์์ด์ ์
๋ ฅํ ์๋ ์๊ณ ,
s2 = set([1, 2, 3])๊ณผ ๊ฐ์ด ๋ฆฌ์คํธ๋ฅผ ์
๋ ฅํ ์๋ ์๋ค.
์งํฉ ์๋ฃํ์ ๊ฐ์ฅ ํฐ ํน์ง์ ์์๊ฐ ์๊ณ ์ค๋ณต์ ํ์ฉํ์ง ์๋๋ค๋ ๊ฒ์ด๋ค.
>>> s1 = set("Kyunghee")
>>> s1
{'K', 'h', 'u', 'g', 'n', 'e', 'y'}
๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฐ๊ด๊ฐ์ ์ถ๋ ฅํ๊ฒ ๋๋ค.
๋ฐ๋ผ์ ์ด๋ฅผ ์ธ๋ฑ์ฑํ๊ธฐ ์ํด์๋ ๋ฆฌ์คํธ๋ ํํ๋ก ๋ณํํด์ผ ํ๋ค.
list(s1)์ด๋ tuple(s1) ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก์ด ์๋ฃํ์ ์ ์ธํ ์ ์๋ค.
์ฐ๋ฆฌ๊ฐ ์ํ์์ ๋ฐฐ์ ๋ ์งํฉ๊ณผ ๊ฐ์ด ๋๋ฌธ์ ์งํฉ์ ์ฐ์ฐ ๋ํ ๊ฐ๋ฅํ๋ค.
>>> s1 = set([2,3,4,5,6)]
>>> s2 = set([4,5,6,7,8)]
์ผ๋
๊ต์งํฉ
๊ต์งํฉ์ &์ ํตํด ๊ณ์ฐํ ์ ์๋ค.
>>> s1 & s2
{4, 5, 6}
ํฉ์งํฉ์ '|' ๋๋ union์ ํตํด ๊ณ์ฐํ ์ ์๋ค.
>>> s1 | s2
{2,3,4,5,6,7,8}
>>> s1.union(s2)
{2,3,4,5,6,7,8}
์ฐจ์งํฉ์ '-' ๋๋ difference๋ฅผ ํตํด ๊ตฌํ ์ ์๋ค.
>>> s1 - s2
{2, 3}
>>> s1.difference(s2)
{2, 3}
์งํฉ์ ๊ฐ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์๋ 2๊ฐ์ง๊ฐ ์๋ค.
์ฒซ๋ฒ์งธ๋ก add๋ฅผ ์ฌ์ฉํ์ฌ 1๊ฐ์ ๊ฐ์ ์ถ๊ฐํ ์ ์๋ค.
>>> s1 = set([2,3,4,5,6])
>>> s1.add(1)
>>> s1
{1, 2, 3, 4, 5, 6}
๊ฐ์ ์ฌ๋ฌ ๊ฐ ์ถ๊ฐํ ๋์๋ update๋ฅผ ์ด์ฉํ๋ค.
>>> s1 = set([1,2])
>>> s1.update([3,4,5,6])
>>> s1
{1, 2, 3, 4, 5, 6}
์งํฉ์์ ๊ฐ์ ์ญ์ ํ๊ธฐ ์ํด์๋ remove๋ฅผ ์ด์ฉํ๋ค.
>>> s1 = set([1, 2, 3, 9])
>>> s1.remove(9)
>>> s1
{1, 2, 3}
์์ฑ์ : ์์ ์ธ
์์ฑ์ผ : 24/03/18
์ง๋ : 2-7 ๋ถ ์๋ฃํ & 2-8 ์๋ฃํ์ ๊ฐ์ ์ ์ฅํ๋ ๊ณต๊ฐ, ๋ณ์
<2-7. ๋ถ ์๋ฃํ>
๋ถ(Bool) ์๋ฃํ ์ด๋?
์ฐธ(True)๊ณผ ๊ฑฐ์ง(False)์ ๋ํ๋ด๋ ์๋ฃํ.
๋ถ ์๋ฃํ์ ์ด๋ป๊ฒ ์ฌ์ฉํ ๊น?
์ ์ฌ์ง์ฒ๋ผ type ํจ์๋ฅผ ๋ณ์ a์ b์ ์ฌ์ฉํ๋ฉด ๋ ๋ณ์์ ์๋ฃํ์ด bool๋ก ์ง์ ๋ ๊ฒ์ ์ฌ์ฉํ ์ ์๋ค
cf . type(x)๋ x์ ์๋ฃํ์ ํ์ธํ๋ ํ์ด์ฌ์ ๋ด์ฅ ํจ์์ด๋ค
๋ถ ์๋ฃํ์ ์กฐ๊ฑด๋ฌธ์ ๋ฆฌํด๊ฐ์ผ๋ก๋ ์ฌ์ฉ๋๋ค
์ด๋ฐ ์กฐ๊ฑด๋ฌธ์ ๊ฒฐ๊ณผ๋ก True ๋๋ False์ ํด๋นํ๋ ๋ถ ์๋ฃํ์ ๋ฆฌํดํ๋ค
๋ฐ๋ผ์ ‘๋ฌธ์ํ์๋ฃ’์ ‘๋ฌธ์ํ์๋ฃ’๋ ๊ฐ์ผ๋ฏ๋ก True๋ฅผ ๋ฆฌํดํ๋ค
์๋ฃํ์ ์ฐธ๊ณผ ๊ฑฐ์ง
๊ฐ | ์ฐธ or ๊ฑฐ์ง |
[‘b’, ’์‘, ’๋ด‘, '์ ์ดํ'] | ์ฐธ |
[] | ๊ฑฐ์ง |
(‘b’, ’์‘, ’๋ด‘, '์ ์ดํ') | ์ฐธ |
() | ๊ฑฐ์ง |
“let’s go” | ์ฐธ |
" " | ๊ฑฐ์ง |
{’a’: 1} | ์ฐธ |
{} | ๊ฑฐ์ง |
1 | ์ฐธ |
0 | ๊ฑฐ์ง |
None | ๊ฑฐ์ง |
๋ฌธ์์ด, ๋ฆฌ์คํธ, ํํ, ๋์ ๋๋ฆฌ ๋ฑ์ ๊ฐ์ด ๋น์ด ์์ผ๋ฉด ๊ฑฐ์ง์ด ๋๊ณ , ๋น์ด์์ง ์์ผ๋ฉด ์ฐธ์ด ๋๋ค
์ซ์์์๋ ๊ทธ ๊ฐ์ด 0์ผ ๋ ๊ฑฐ์ง์ด ๋๋ค
์ ์๋ฅผ ๋ณด๋ฉด, a๊ฐ ์ฐธ์ธ ๊ฒฝ์ฐ, a.pop()๋ฅผ ๊ณ์ ์คํํ์ฌ ์ถ๋ ฅํ๋ผ๋ ์๋ฏธ์ด๋ค
a.pop() ํจ์๋ ๋ฆฌ์คํธ a์ ๋ง์ง๋ง ์์๋ฅผ ๋์ง์ด ๋ด๋ ํจ์์ด๋ฏ๋ก ๋ฆฌ์คํธ ์์ ์์๊ฐ ์กด์ฌํ๋ ํ (a๊ฐ ์ฐธ์ธ ๋์) ๋ง์ง๋ง ์์๋ฅผ ๊ณ์ ๋์ง์ด ๋ผ ๊ฒ์ด๋ค
๊ฒฐ๊ตญ ๋ ์ด์ ๋์ง์ด ๋ผ ๊ฒ์ด ์์ผ๋ฉด a๊ฐ ๋น ๋ฆฌ์คํธ([])๊ฐ ๋์ด ๊ฑฐ์ง์ด ๋๋ค
๋ฐ๋ผ์ while๋ฌธ์์ ์กฐ๊ฑด๋ฌธ์ด ๊ฑฐ์ง์ด ๋๋ฏ๋ก while๋ฌธ์ ๋น ์ ธ๋๊ฐ๊ฒ ๋๋ค
์์ ์์์๋ ์ ์ ์๋ฏ์ด, []๋ ๋น์ด์๋ ๋ฆฌ์คํธ ์ด๋ฏ๋ก ‘๊ฑฐ์ง’์ด, [1, 2, 3]์ ์์๊ฐ์ด ์๋ ๋ฆฌ์คํธ ์ด๋ฏ๋ก ‘์ฐธ’์ด๋ค
Bool ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ฐธ๊ณผ ๊ฑฐ์ง์ ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํดํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค
<2-8. ์๋ฃ์ ๊ฐ์ ์ ์ฅํ๋ ๊ณต๊ฐ, ๋ณ์>
๋ณ์๋?
์ ์ฌ์ง์์์ a, b, c๋ฅผ ๋ณ์ ๋ผ๊ณ ํ๋ค
๋ณ์๋ฅผ ๋ง๋ค ๋๋ ์ ์์ฒ๋ผ ๊ธฐํธ(assignment)๋ฅผ ์ฌ์ฉํ๋ค
#๋ณ์_์ด๋ฆ = ๋ณ์์_์ ์ฅํ _๊ฐ
๋ง์ฝ ์ ์ฝ๋์ฒ๋ผ c = ['good', 'better', 'best']๋ผ๊ณ ํ๋ฉด, ['good', 'better', 'best']๊ฐ์ ๊ฐ์ง๋ ๋ฆฌ์คํธ ๋ฐ์ดํฐ(๊ฐ์ฒด)๊ฐ ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ์์ฑ๋๊ณ ๋ณ์ c๋ ๋ฆฌ์คํธ๊ฐ ์ ์ฅ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ๋๋ค
cf) id๋ ๋ณ์๊ฐ ๊ฐ๋ฆฌํค๊ณ ์๋ ๊ฐ์ฒด์ ์ฃผ์ ๊ฐ์ ๋ฆฌํดํ๋ ํ์ด์ฌ์ ๋ด์ฅ ํจ์
์ฆ, ์ฌ๊ธฐ์์ ๋ณ์ c๊ฐ ๊ฐ๋ฆฌํค๋ ๋ฆฌ์คํธ์ ์ฃผ์๊ฐ์ 132308375819328 ์ด๋ผ๋ ๊ฒ์ ์ ์ ์๋ค
๋ฆฌ์คํธ ์๋ฃํ์ ๋ณต์ฌ
b๋ณ์์ a๋ณ์๋ฅผ ๋์ ํ๋ฉด, a์ b๊ฐ ์์ ํ ๋์ผํด์ง๋ค๋ ๊ฒ์ ์ ์ ์๋ค
๋ฆฌ์คํธ์ ์์ ๋ณ๊ฒฝ
a๋ผ๋ ๋ฆฌ์คํธ ๋ด์ ์์๋ฅผ ๋ณ๊ฒฝํ๋ค
๊ทธ๋ ๋ค๋ฉด b๋ณ์๋ฅผ ์์ฑํ ๋ a๋ณ์์ ๊ฐ์ ๊ฐ์ ธ์ค๋ฉด์ a์๋ ๋ค๋ฅธ ์ฃผ์๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ๋ง๋๋ ๋ฐฉ๋ฒ๋ ์์๋ณด์
์ฒซ ๋ฒ์งธ ๋ฐฉ๋ฒ์ ๋ฆฌ์คํธ ์ ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ [:]๋ฅผ ์ฌ์ฉํด์ ๋ณต์ฌํ๋ ๊ฒ์ด๋ค
๋๋ฒ์งธ๋ copy๋ชจ๋์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค
์ ์์์ b = copy(a)๋ b = a์ ๋์ผํ๋ค
๋ ๋ณ์์ ๊ฐ์ ๊ฐ์ง๋ง, ์๋ก ๋ค๋ฅธ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๊ณ ์๋์ง ํ์ธํด๋ณด๋ฉด, ๊ฑฐ์ง์ด๋ผ๋ ๊ฒ์ ์ ์ ์๋ค
๋ณ์๋ฅผ ๋ง๋๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ
a, b = ('python', 'life')
์์ ๊ฐ์ด ํํ๋ก a, b์ ๊ฐ์ ๋์ ํ ์ ์๋ค
(a, b) = 'python', 'life'
์ ์๋ฌธ๊ณผ ์์ ํ ๋์ผํ๋ค
๋, ๋ค์์ฒ๋ผ ๋ฆฌ์คํธ๋ก ๋ณ์๋ฅผ ๋ง๋ค ์๋ ์๋ค
[a, b] = ['python', 'life']
๋ํ, ์ฌ๋ฌ ๊ฐ์ ๋ณ์์ ๊ฐ์ ๊ฐ์ ๋์ ํ ์๋ ์๋ค
a = b = 'python'
ํ์ด์ฌ์์๋ ์๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ๋ ๋ณ์์ ๊ฐ์ ๋งค์ฐ ๊ฐ๋จํ๊ฒ ๋ฐ๊ฟ ์ ์๋ค
a = 3
b = 5
a, b = b, a
print(a)
>>> 5
print(b)
>>>3
์ฒ์์๋ a์ ๊ฐ3, b์๋ ๊ฐ 5๊ฑฐ ๋์ ๋์ด ์์์ง๋ง,
a, b = b, a ๋ฌธ์ฅ์ ์ํํ ํ์๋ ๊ทธ ๊ฐ์ด ์๋ก ๋ฐ๋์๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค
์์ฑ์: ๊น์ธ์ธ
์์ฑ์ผ: 24/03/18
์ง๋: 03-1 if ๋ฌธ
[03-1 if ๋ฌธ]
if๋ฌธ - ์กฐ๊ฑด์ ํ๋จํ์ฌ ํด๋น ์กฐ๊ฑด์ ๋ง๋ ์ํฉ์ ์ํํ๋ค.
# if ์กฐ๊ฑด๋ฌธ
์ฐธ๊ณผ ๊ฑฐ์ง์ ํ๋จํ๋ ๋ฌธ์ฅ. ์ด ๋ค์๋ ํญ์ : ์ด ๋ถ์ผ๋ ์ฃผ์!)
# ์ํํ ๋ฌธ์ฅ
# ์ฃผ์์ : ๋ค์ฌ์ฐ๊ธฐ ํ ๋ถ๋ถ์ ์คํํ๋ค!
# if
# elif elif (..)
# else
# ๋ง์ฝ์ user1์ age๊ฐ 23์ด ์ดํ์ด๋ฉด => ํ์
# ๊ทธ๊ฒ ์๋๋ฉด => ๋ฐฑ์
if users[0].get("age") <= 23:
print("ํ์")
else:
print("๋ฐฑ์")
if ์กฐ๊ฑด๋ฌธ : (if ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ ๋ ์คํํ ์ฝ๋ ...)
elif ์กฐ๊ฑด๋ฌธ : (elif ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ ๋ ์คํํ ์ฝ๋ ...)
if ๋ค์์ ๋ ๋ค๋ฅธ if๋ฌธ์ด ํ์ํ ๋๋ elif ๋ฅผ ์ฌ์ฉํ๋ค.
if ์กฐ๊ฑด์ ๋ฐ์ง ํ ๊ฑฐ์ง์ด๋ฉด elif ๋ฌธ์ ์คํํ๋ค.
if ์กฐ๊ฑด๋ฌธ : (if ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ ๋ ์คํํ ์ฝ๋ ...)
elif ์กฐ๊ฑด๋ฌธ : (elif ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ ๋ ์คํํ ์ฝ๋ ...)
else : (์กฐ๊ฑด๋ฌธ์ด ๋ชจ๋ ๊ฑฐ์ง์ผ ๋ ์คํํ ์ฝ๋ ...)
if, elif ์กฐ๊ฑด๋ฌธ์ด ๋ชจ๋ ๊ฑฐ์ง์ผ ๋๋ else ๋ธ๋ก์ ์ํํ๋ค.
elif ์์ด if ๋ค์์ ๋ฐ๋ก else๋ฌธ์ด ์ฌ ์ ์๋ค.
if ์กฐ๊ฑด๋ฌธ : (if ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ ๋ ์คํํ ์ฝ๋ ...)
else : (์กฐ๊ฑด๋ฌธ์ด ๊ฑฐ์ง์ผ ๋ ์คํํ ์ฝ๋ ...)
์ค์ฒฉ if ์กฐ๊ฑด๋ฌธ : if ์กฐ๊ฑด๋ฌธ ์์ if ์กฐ๊ฑด๋ฌธ์ด ์๋ ๊ฒ
if ์กฐ๊ฑด๋ฌธ :
if ์กฐ๊ฑด๋ฌธ : (if ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ผ ๋ ์คํํ ์ฝ๋ ...)
if๋ฌธ์ ํ์ฉํ ๊ณผ์ ํ์ด
# ๊ณผ์ 1
x = int(input("x์ขํ๋ฅผ ์
๋ ฅํ์ธ์ :"))
y = int(input("y์ขํ๋ฅผ ์
๋ ฅํ์ธ์ :"))
if x > 0 and y > 0:
print("1")
elif x < 0 and y > 0:
print("2")
elif x < 0 and y < 0:
print("3")
else:
print("4")
# ๊ณผ์ 2
score = int(input("์ํ ์ ์๋ฅผ ์
๋ ฅํ์ธ์:"))
if 90 <= score <= 100:
print("A")
elif 80 <= score <= 89:
print("B")
elif 70 <= score <= 79:
print("C")
elif 60 <= score <= 69:
print("D")
else:
print("F")
์์ฑ์: ๋ฐ์งํธ
์์ฑ์ผ: 24/03/16
์ง๋: 03-2 while๋ฌธ
[03-2 while๋ฌธ]
while๋ฌธ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ ?
while ์กฐ๊ฑด๋ฌธ:
์ํํ ๋ฌธ์ฅ1
์ํํ ๋ฌธ์ฅ2
...
while ์กฐ๊ฑด๋ฌธ์ ์์ ๊ฐ์ด ์กฐ๊ฑด๋ฌธ๊ณผ ๊ทธ ์กฐ๊ฑด๋ฌธ์ด ์ฐธ์ธ ๋์ ์ํ๋๋ ๋ฌธ์ฅ๋ค์ ์กฐํฉ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
ํ๋์ ์๋ก,
๋๋ผ = 1
while ๋๋ผ < 3:
๋๋ผ += 1
print('๊ทธ๊ฒ์ ์ ๋๋ผ๊ฐ ์๋๋๋ค.')
if ๋๋ผ == 3:
print('๊ทธ๊ฒ์ด ๋ฐ๋ก ์ ๋๋ผ์
๋๋ค.')
while๋ฌธ์ ํตํด ๋ค์๊ณผ ๊ฐ์ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์๋ค.
์ด ์์๋ '๊ธ๋๋ผ ์๋๋ผ' ์ด์ผ๊ธฐ๋ฅผ ํ์ด์ฌ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ง๋ค์ด ๋ณธ ๊ฒ์ด๋ค.
์ ์์์์ while๋ฌธ์ ์กฐ๊ฑด๋ฌธ์ ๋๋ผ < 3 ์ด๋ค.
์ฆ, ๋๋ผ๊ฐ 3๋ณด๋ค ์์ ๋์์๋ while๋ฌธ์ ํฌํจ๋ ๋ฌธ์ฅ๋ค์ ์ํํ๋ค.
๋๋ผ๊ฐ 3๋ณด๋ค ์์ ๋์์๋ '๊ทธ๊ฒ์ ์ ๋๋ผ๊ฐ ์๋๋๋ค.' ๋ผ๋ ๋ฌธ์ฅ์ ์ถ๋ ฅํ๊ณ ,
๋๋ผ๊ฐ 1์ฉ ์ฆ๊ฐํ์ฌ 3์ด ๋๋ ์๊ฐ '๊ทธ๊ฒ์ด ๋ฐ๋ก ์ ๋๋ผ์ ๋๋ค.'๋ฅผ ์ถ๋ ฅํ๋ค.
๊ทธ๋ฌ๊ณ ๋๋ฉด ๋๋ผ๋ ๋์ด์ 3๋ณด๋ค ์์์ผํ๋ค๋ ์กฐ๊ฑด๋ฌธ์ ์ถฉ์กฑ์ํค์ง ๋ชปํ๋ฏ๋ก while๋ฌธ์ ๋น ์ ธ๋๊ฐ๋ค.
while๋ฌธ์ ๊ฐ์ ๋ก ๋น ์ ธ๋๊ฐ๋ ค๋ฉด ?
while๋ฌธ์์ ์กฐ๊ฑด๋ฌธ์ด ํญ์ ์ฐธ์ธ ๊ฒฝ์ฐ, ๋ฌธ์ฅ์ด ๋ฌดํ ๋ฃจํ์ ๋น ์ง๊ฒ ๋๋ค.
์ด๋ ํ์ฉ ๊ฐ๋ฅํ ๊ฒ์ด if๋ฌธ์ ์ด์ฉํ์ฌ break๋ฌธ์ ํธ์ถํ๋ ๊ฒ์ด๋ค.
ticket = 7
money = 150000
while money >= 150000:
print('ํฐ์ผํ
์ฑ๊ณต !')
ticket -= 1
print('๋จ์ ํฐ์ผ ์ %d๊ฐ ใ
ใ
' % ticket)
if ticket == 0:
print('ํฐ์ผ์ด ๋ค ํ๋ ธ์ต๋๋ค. ๋ค์ ๊ธฐํ๋ฅผ ๋
ธ๋ ค๋ณด์ธ์.')
break
ํฐ์ผํ ์ ํ ๋ ๋์ ์ถฉ๋ถํ์ง๋ง ํฐ์ผ์ ์์ด ์ถฉ๋ถํ์ง ์์ ํฐ์ผํ ์ ์คํจํด๋ณธ ๊ฒฝํ์ด ํ ๋ฒ์ฉ์ ์์ ๊ฒ์ด๋ค.
๋ค์์ ์ด๋ฌํ ์ํฉ์ ํ์ด์ฌ ํ๋ก๊ทธ๋จ์ ์ ์ฉํด๋ณธ ๊ฒ์ด๋ค.
์ ์์์์๋ ๋์ด 150000์ผ๋ก ๊ณ ์ ๋์ด์๊ธฐ ๋๋ฌธ์ ์กฐ๊ฑด๋ฌธ(: ๋ 150000 ์ด์)์ ํญ์ ์ถฉ์กฑ์ํจ๋ค.
๋ฐ๋ผ์ ๋ฌธ์ฅ์ด ๋ฌดํ ๋ฃจํ์ ๋น ์ง๊ฒ ๋ ์ ์์ง๋ง, while๋ฌธ์ ๋ด์ฉ์ด ํ ๋ฒ ์ํ๋ ๋๋ง๋ค ticket ์๋ฅผ ํ๋์ฉ ์ค์ฌ
ticket์ด ๋ค ํ๋ฆด ๊ฒฝ์ฐ 'ํฐ์ผ์ด ๋ค ํ๋ ธ์ต๋๋ค. ๋ค์ ๊ธฐํ๋ฅผ ๋ ธ๋ ค๋ณด์ธ์.'๋ผ๋ ๋ฌธ์ฅ์ ์ถ๋ ฅํ๊ณ
break๋ฌธ์ด ํธ์ถ๋์ด while๋ฌธ์ ๋น ์ ธ๋๊ฐ ์ ์๊ฒ ๋๋ค.
while๋ฌธ์ ๋งจ ์ฒ์์ผ๋ก ๋์๊ฐ๋ ค๋ฉด ?
while๋ฌธ์ ๋งจ ์ฒ์ ์กฐ๊ฑด๋ฌธ์ผ๋ก ๋ค์ ๋์๊ฐ๊ณ ์ถ์ ๋๋ continue๋ฌธ์ ์ฌ์ฉํ๋ฉด ๋๋ค.
์ฐ๋ฆฌ ๋ชจ๋ ๋ฌด๋ณ์ฅ์ํ๊ณ ์ถ์ง ์์๊ฐ ?
๊ทธ๋์ ๊ทธ ๋ง์์ ๋ฌ๋ฟ ๋ด์ 1๋ถํฐ 10๊น์ง์ ์ซ์๋ค ์ค์ 4(์ฃฝ์ ์ฌ)๋ฅผ ๋บ ๋๋จธ์ง ์ซ์๋ค๋ง ์ถ๋ ฅํด๋ด๋ ํ๋ก๊ทธ๋จ์ ์์๋ก ํ ๋ฒ ์ค๋นํด๋ดค๋ค.
a = 0
while a <= 10:
a += 1
if a == 4: continue
print(a)
์ด๋ ๊ฒ ํ๋ฉด 4๋ง ์ ์ธํ ๋๋จธ์ง ์ซ์๋ค๋ง ์์๊ฒ ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
a๊ฐ 10 ์ดํ์ ์ซ์๋ฅผ ๊ฐ์ง ๋์ a๋ 1๋งํผ์ฉ ์ฆ๊ฐํ๋ค.
๊ทธ๋ฌ๋ ์ด๋ a๊ฐ 4๊ฐ ๋๋ ์๊ฐ continue๋ฌธ์ด ์ํ๋ผ print(a) ๋ฌธ์ฅ์ด ์ํ๋์ง ๋ชปํ๊ณ
๊ทธ๋๋ก while๋ฌธ์ ๋งจ ์ฒ์์ธ ์กฐ๊ฑด๋ฌธ์ผ๋ก ๋์๊ฐ๊ฒ ๋๋ค.
๋ฌดํ ๋ฃจํ ์์ฑํ๊ธฐ
์๋ฌด ์๋ฏธ์์ด ๋ฌดํ ๋ฃจํ๋ฅผ ์์ฑํ ์ผ์ ๊ฑฐ์ ์๊ฒ ์ง๋ง,
๋ฌดํํ ๋ฐ๋ณตํ๋ ๋ฌดํ ๋ฃจํ๋ฅผ ์์ฑํ๊ธฐ ์ํด์๋ ํญ์ ์ฐธ์ด ๋๋ ์กฐ๊ฑด๋ฌธ์ ์ค์ ํ๋ฉด ๋๋ค.
love = 3000
while love == 3000:
print('I love you 3000.')
๋ค์์ ์ด๋ฒค์ ธ์ค: ์๋๊ฒ์์์์ ์์ด์ธ๋งจ ๋ช ๋์ฌ๋ฅผ ์ฐธ๊ณ ํด ๋ง๋ ์ฝ๋์ด๋ค.
์ ์์์์ love๋ ํญ์ 3000์ ๊ฐ์ ์ง๋๊ธฐ ๋๋ฌธ์ 'I love you 3000.'์ด๋ผ๋ ๋ฌธ์ฅ์ ๋ฌดํํ ์ํ๋ ๊ฒ์ด๋ค.
๋ฌดํ ๋ฃจํ๋ฅผ ํ์ถํ๋ ๋ฐฉ๋ฒ์ 'Ctrl + C'๋ฅผ ๋๋ฅด๋ ๊ฒ์ด๋ค.
๋ง์ฝ, ์ฝ๋๋ฅผ ์๋ชป ์ ๋ ฅํด ๋ฌดํ ๋ฃจํ์ ๋น ์ก๋ค๋ฉด ์ฌ๋นจ๋ฆฌ 'Ctrl + C'๋ฅผ ๋๋ฌ ๋น ์ ธ๋๊ฐ๋๋ก ํ์.
์์ฑ์ : ๋ฐ์คํ
์์ฑ์ผ : 2024-03-18
์ง๋ : 03-3 for๋ฌธ
[03-3] for๋ฌธ
for๋ฌธ์ด๋?
for๋ฌธ์ while๋ฌธ๊ณผ ์ ์ฌํ ์ ์ด ์๋นํ ๋ง๋ค. ์์ while๋ฌธ์ ๋ํ ์ดํด๊ฐ ์๋ฃ๋์๋ค๋ฉด, for๋ฌธ๋ ์ฝ๊ฒ ์ดํด๋ ๊ฒ์ด๋ค.
๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ๋ค.
>>>a = [1,2,3]
>>>for num in a:
print(num)
1
2
3
๊ธฐ๋ณธ์ ์ผ๋ก for๋ฌธ์ ํํ์ด๋ ๋ฆฌ์คํธ, ๋๋ ๋ฌธ์์ด๊ณผ ํจ๊ป ์ฐ์ธ๋ค.
์์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ๋ง๋ก ์ค๋ช ํด๋ณด์๋ฉด, num์ด๋ผ๋ ์๋ก ์์ฑ๋ ๋ณ์๋ฅผ ๊ธฐ์กด์ ์กด์ฌํ๋ a๋ผ๋ ๋ฆฌ์คํธ์ ์์๋ค์ ํ๋์ฉ ๋์ ํ ํ for์ดํ์ ๋ค์ฌ์ฐ๊ธฐ ๋ ๋ช ๋ น์ด๋ฅผ ์คํํ๋ ๊ฒ์ด๋ค.
for๋ฌธ ์์ [1]
์ดํด๋ฅผ ์ํด ํ ๋ฒ ๋ ์์๋ฅผ ํ ๋ฒ ๋ ์ดํด๋ณด์
>>>a = 'python study'
>>>for str in a:
print(str)
p
y
t
h
o
n
s
t
u
d
y
์ด๋ฒ์๋ ๋ฆฌ์คํธ ๋ง๊ณ ๋ฌธ์์ด๊ณผ ํจ๊ป for๋ฌธ์ ์ฌ์ฉํด ๋ณด์๋ค.
์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ for๋ฌธ์ str์ด๋ผ๋ ๋ณ์๋ฅผ ์๋กญ๊ฒ ์์ฑํ ํ ๊ธฐ์กด์ ์กด์ฌํ๋ a๋ผ๋ ๋ฌธ์์ด์ ์์๋ค์ ํ๋์ฉ ๋์ ํ์ฌ ๋ค์ฌ์ฐ๊ธฐ ๋ ์ํํ ๋ฌธ์ฅ์ ์์ฐจ์ ์ผ๋ก ์ค์ํ๋ค.
for๋ฌธ ์์ [2]
์ด์ ๊ฐ๋จํ ์์ ๋ฅผ for๋ฌธ์ ์ฌ์ฉํด์ ํ์ด๋ณด์.
์ด 4๋ช ์ ํ์์ด ์ํ์ ๋ณด์๋๋ฐ, ์ ์๊ฐ 21-30์ ์ด๋ผ๋ฉด A์ด๊ณ , 11-20์ ์ด๋ผ๋ฉด B์ด๊ณ , 1-10์ ์ด๋ผ๋ฉด C๋ผ๊ณ ํ์ ์ด๋ ๊ฐ ํ์์ ์ฑ์ ์ ๋ณด์ฌ์ฃผ์์ค
marks = [23, 14, 9, 5]
ํ์๋ค์ ์ ์๋ ์์ ๊ฐ์ ๋ ์ฐ๋ฆฌ๋ for๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ๋ํ๋ผ ์ ์๋ค.
>>>marks = [23, 14, 9, 5]
>>>num = 0
>>>for mark in marks:
num += 1
if mark >= 1 and mark <= 10:
print('%d๋ฒ ํ์์ C์
๋๋ค.' % num)
elif mark >= 11 and mark <= 20:
print('%d๋ฒ ํ์์ B์
๋๋ค.' % num)
else:
print('%d๋ฒ ํ์์ A์
๋๋ค.' % num)
(์ด๋ if์ elif์ ๋ค์ฌ์ฐ๊ธฐ ๊ฐ๊ฒฉ์ ์ฃผ์ํ์)
1๋ฒ ํ์์ A์ ๋๋ค.
2๋ฒ ํ์์ B์ ๋๋ค.
3๋ฒ ํ์์ C์ ๋๋ค.
4๋ฒ ํ์์ C์ ๋๋ค.
num์ด๋ผ๋ ๋ณ์๋ for๋ฌธ์ ๋ณ์๊ฐ ํ๋์ฉ ๋์ ๋ ๋๋ง๋ค 1์ฉ ๋ํด์ ธ ํฌ๋งทํ ์ ํตํด ๋ช ๋ฒ์งธ ํ์์ธ์ง ์๋ ค์ฃผ๊ณ ์๋ค.
continue๋ฅผ ํ์ฉํ for๋ฌธ ์์
์ด์ ์์์ ๋ฐฐ์ด ์์ ์ continue๋ฅผ ํ์ฉํด ์์ฉํด๋ณด์.
continue๋ ์์ while์์๋ ๋ฐฐ์ ๋ฏ ๋ฐ๋ณต๋ฌธ์ด ์คํ์ค์ผ๋ ๋งจ ์ฒ์์ผ๋ก ๋๋๋ฆฌ๋ ์ ์ด๋ฌธ์ด๋ค.
์์ ์์ ์ ๋์จ ํ์๋ค์๊ฒ ์ด๋ฒ์๋ 10์ ์ด ๋์์๋ ํฉ๊ฒฉ ๋ฌธ์ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ณด์.
>>>marks = [23, 14, 9, 5]
>>>num = 0
>>>for mark in marks:
num += 1
if mark < 10:
continue
print('%d๋ฒ ํ์์ ํฉ๊ฒฉ์
๋๋ค. ์ถํํฉ๋๋ค.' % num)
1๋ฒ ํ์์ ํฉ๊ฒฉ์ ๋๋ค. ์ถํํฉ๋๋ค.
2๋ฒ ํ์์ ํฉ๊ฒฉ์ ๋๋ค. ์ถํํฉ๋๋ค.
์ด์ฒ๋ผ continue๋ฅผ ํตํด์ else๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ์ฝ๋๋ฅผ ๋ค์ฑ๋กญ๊ฒ ๋ง๋ค ์ ์๋ค.
rangeํจ์๋ฅผ ์ด์ฉํ for๋ฌธ
range๋ ์๋ก์ด ๋ฆฌ์คํธ๋ฅผ ์์ฑํ๋ ํจ์์ด๋ค.
์์ ๋ฅผ ํตํด ์ดํดํด๋ณด์.
>>>a = range(10)
>>>print(a)
range(10)
์ด๋ a๋ range๊ฐ์ฒด๊ฐ ๋๊ณ , ์ด๋ ๊ณง [0,1,2,3,4,5,6,7,8,9]์ ์๋ฏธํ๋ค.
(์ด๋ a์ ํ์ ์ range๊ฐ์ฒด์ด๋ค. ๋ฆฌ์คํธ๋ฅผ ์๋ฏธํ์ง๋ง range๊ฐ์ฒด๋ก ํ์ดํ๋จ)
range(10)์ 0๋ถํฐ 10๋ฏธ๋ง๊น์ง์ ์๋ฅผ ๋ฆฌ์คํธ๋ก ๋ง๋ ๋ค.
range(1,9)๋ 1๋ถํฐ 9๋ฏธ๋ง๊น์ง์ ์๋ฅผ ๋ฆฌ์คํธ๋ก ๋ง๋ ๋ค.
rangeํจ์๋ฅผ ํ์ฉํ๋ค๋ฉด, for๋ฌธ์ ๋์ฑ ๋ค์ฑ๋กญ๊ฒ ๋ง๋ค ์ ์๋ค.
range๋ฅผ ์ด์ฉํด 1๋ถํฐ 10๊น์ง ๋ํ๋ ๊ฒ์ ๊ตฌํ๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
>>>add = 0
>>>for i in range(1,11):
add += i
>>>print(add)
55
์ด๋ add๋ณ์์ ๋ํด์ง๋ ๊ณผ์ ์ ๋ณด๊ณ ์ถ๋ค๋ฉด, print๋ฅผ for๋ฌธ ์์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
์ ์ฝ๋์์๋ print๋ฅผ ๋ฐ์ผ๋ก ๋นผ๋ด์ ์ต์ข ์ ์ธ ๊ฒฐ๊ณผ๋ง ์ถ๋ ฅํ๋ค.
๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ์ฌ์ฉํ for๋ฌธ
๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ์ฌ์ฉํ๋ค๋ฉด ๋ฆฌ์คํธ ์์ for๋ฌธ์ ๋ ์ง๊ด์ ์ผ๋ก ํ์ ํ ์ ์๋ค.
๋ค์ ์์ ๋ฅผ ์ดํด๋ณด์.
>>>a = [1, 2, 3, 4]
>>>result = []
>>>for num in a:
result.append(num * 3)
>>>print(result)
[3, 6, 9, 12]
์์ ์ฝ๋์์ ์ฐ์ ๋ณ์ result ๋ฅผ ์ฌ์ฉํด ํ ๋น ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด ์ค ํ
for๋ฌธ์ ์ฌ์ฉํ์ฌ a๋ฆฌ์คํธ์ ์์ * 3ํ๊ฒ์ appendํจ์๋ฅผ ํ์ฉํด ํ ๋น result๋ฅผ ์ฑ์์ค๋ค.
๊ฒฐ๊ตญ result๋ [3, 6, 9, 12]๊ฐ ๋๋ค.
์์ ์์ ๋ ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์ ์ฌ์ฉํ๋ค๋ฉด ์์ฃผ ๊ฐ๋ ์ฑ ์๊ฒ ๋ฐ๊ฟ์ค ์ ์๋ค.
>>>a = [1, 2, 3, 4]
>>>result = [num * 3 for num in a]
>>>print(result)
[3, 6, 9, 12]
๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ ์
[ํํ์ for ๋ณ์ in ๋ฐ๋ณต๊ฐ๋ฅ๊ฐ์ฒด] ๊ผด์ด๋ค.
์ด๋ฅผ ํตํด ๋ฆฌ์คํธ์ ๋ฐ๋ณต์ ์ธ ์์๋ค์ ์ถ๊ฐํด์ค ์ ์๋ค.
for๋ฌธ์ ์ ์ฌ์ฉํ๊ธฐ๋ง ํ๋ค๋ฉด while๋ณด๋ค ๋ ๋ค์ํ ์์ ์ ํ ์ ์์ ๊ฒ ๊ฐ๋ค. ๋ํ while๋ก ์์ฑ๋ ์ฝ๋๋ for๋ฌธ์ผ๋ก ๋ณํํ ์ ์๋ค. ๋ค์ํ for๋ฌธ์ ์ฌ์ฉํ๋ฉฐ ์ต์ํด์ ธ์ผ ํ ๋ฏ ํ๋ค.
'Study > CODE 3๊ธฐ [Jump to python]' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[4์กฐ ๋ถ์ฌ์กฐ] Python Study (2) (0) | 2024.03.18 |
---|---|
[ ๋น๋น๋น ] Python ์คํฐ๋ # 2์ฃผ์ฐจ (1) | 2024.03.18 |
[2์กฐ:ACE] Python ์คํฐ๋ #2 (2) | 2024.03.17 |
[๊น์ด๊น์ด๋] python ์คํฐ๋ 2์ฃผ์ฐจ (0) | 2024.03.14 |
[ ๋น๋น๋น ] Python ์คํฐ๋ # 1์ฃผ์ฐจ (0) | 2024.03.11 |