-
ํ์ด์ฌ ๊ธฐ์ด 4. ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธPYTHON 2020. 8. 29. 13:50
๐ฏ ํ์ด์ฌ ์ ์ด๋ฌธ์ ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ ์์๋ณธ๋ค.
์กฐ๊ฑด๋ฌธ
๊ธฐ๋ณธํ์
if True: print("Yes") if False: # ์ถ๋ ฅ๋์ง ์์. print("No")
if False: # ์ฌ๊ธฐ๋ ์คํ๋์ง ์์. print("You can't reach here") else: # ์ฌ๊ธฐ๊ฐ ์คํ๋๋ค. print("Oh, you are here")
์ฝ๋ก ๊ณผ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ๊ธฐ์ตํ ๊ฒ.
๊ด๊ณ์ฐ์ฐ์
# >, >=, <, <=, ==, !=
์ฐธ, ๊ฑฐ์ง์ ์ข ๋ฅ
# ์ฐธ : "๋ด์ฉ", [๋ด์ฉ], (๋ด์ฉ), {๋ด์ฉ}, 1 # ๊ฑฐ์ง : "", [], (), {}, 0, None
๋น ๋ฌธ์์ด, ๋น ์ปจํ ์ด๋, 0, none์ผ ๊ฒฝ์ฐ False๊ฐ ๋๋ค.
๋ ผ๋ฆฌ์ฐ์ฐ์
a = 100 b = 60 c = 15 print('and : ', a > b and b > c) # True print('or : ', a > b or b > c) # True print('not : ', not a > b) # False print('not : ', not b > c) # False
and, or, not์ ์ฌ์ฉํ๋ค.
์ฐ์ > ๊ด๊ณ > ๋ ผ๋ฆฌ ์์๋ก ์ ์ฉ
print(5 + 10 > 0 and not 7 + 3 == 10)
์ขํญ๊ณผ ์ฐํญ์ ์ฐ์ ์ฐ์ฐ ํ 0๋ณด๋ค ํฐ์ง, 10๊ณผ ๊ฐ์์ง ๋น๊ตํ๋ค. ๋ง์ง๋ง์ผ๋ก ๋ ผ๋ฆฌ์ฐ์ฐ์ not๊ณผ and๊ฐ ์ ์ฉ๋๋ค. ์ขํญ์ ์ฐธ, ์ฐํญ์ ๊ฑฐ์ง์ด ๋๋ฏ๋ก False๋ฅผ ๋ฐํํ๋ค.
๋ค์ค ์กฐ๊ฑด๋ฌธ
num = 90 if num >= 70: print("num ? ", num) elif num >= 60: print("num ? ", num) else: print("default num")
else if๋ฅผ elif๋ก ์ฌ์ฉํ๋ค.
์ค์ฒฉ ์กฐ๊ฑด๋ฌธ
age = 27 height = 175 if age >= 20: if height >= 170: print("A์ง๋ง ์ง์ ๊ฐ๋ฅ") elif height >= 160: print("B์ง๋ง ์ง์ ๊ฐ๋ฅ") else: print("์ง์ ๋ถ๊ฐ") else: print("20์ธ ์ด์ ์ง์๊ฐ๋ฅ")
๋์ด ์กฐ๊ฑด์ ํด๋น๋๋๋ฐ ํค๊ฐ ํด๋น ์๋๋ค๋ฉด elif์ b์ง๋ง ์ง์๊ฐ๋ฅ์ ์ถ๋ ฅํ๋ค.
in, not in
q = [1, 2, 3] w = {7, 8, 9, 9} e = {"name": 'Kim', "city": "seoul", "grade": "B"} r = (10, 12, 14) print(1 in q) print(6 in w) print(12 not in r) print("name" in e) # key ๊ฒ์ print("seoul" in e.values()) # value ๊ฒ์
in๊ณผ not in ์ ์ฌ์ฉํ์ฌ ์ปจํ ์ด๋์ ํน์ ์์๊ฐ ์๋์ง ์๋์ง ๊ฒ์ฌํ ์ ์๋ค. ๋์ ๋๋ฆฌ์ ๋ฐธ๋ฅ๋ฅผ ์ฐพ์ ๋ values()๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
๋ฐ๋ณต๋ฌธ
while๋ฌธ
n = 1 while n < 11: print("n is :", n) n += 1
1๋ถํฐ ์์ํด์ 10๊น์ง ์ถ๋ ฅํ๊ฒ ๋๋ ๋ฐ๋ณต๋ฌธ์ด๋ค. while์์ ์กฐ๊ฑด์ ์จ์ฃผ๊ณ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด ์คํํ ์ฝ๋๋ฅผ ์จ์ค๋ค ์ฆ๊ฐ ๋๋ ๊ฐ์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด ๋ฐ๋ณต๋ฌธ์ด ๊ฒฐ๊ตญ ์ข ๋ฃ๋ ์ ์๋๋ก ๋ง๋ค์ด์ค๋ค.
for๋ฌธ
for v2 in range(10): print("v2 is :", v2)
for ์์ ๋ฐ๋ณตํ ์์์ ๋ณ์๋ฅผ ์ ์ธํ๋ค. ์ด ๋ฐ๋ณต์ range()์ ํด๋นํ๋ ๋์ ์คํ๋๋ค.
range()
ํจ์๋ 0๋ถํฐ ์์ํด์ ์ธ์๊ฐ 10 ๋ฏธ๋ง๊น์ง ๋ฐ๋ณตํ๋ค. ๋ฐ๋ผ์ 0๋ถํฐ 9๊น์ง๊ฐ v2 ๋ณ์์ ํ ๋น์ด ๋๋ค.1๋ถํฐ 10๊น์ง ์ถ๋ ฅํ๊ณ ์ถ๋ค๋ฉด
range(1, 11)
ํํ๋ก ์์ฑํ๋ค.range(1, 11, 2)
์ด๋ ๊ฒ ์ธ์๊ฐ 3๊ฐ(์์๊ฐ, ๋๊ฐ, ์ฆ๊ฐ๋จ์) ๋ค์ด๊ฐ๋ ๊ฒฝ์ฐ๋ 1๋ถํฐ 10๊น์ง 2๋งํผ ์ ํํ๋ผ๋ ๋ป์ผ๋ก 1,3,5,7,9๊ฐ ์ถ๋ ฅ๋๋ค.1 ~ 100 ํฉ ๊ตฌํ๊ธฐ
sum1 = 0 cnt1 = 1 while cnt1 <= 100: sum1 += cnt1 cnt1 += 1
1์ด 100์ด ๋ ๋๊น์ง sum๋ณ์์ ์ฐจ๋ก๋๋ก ์ฆ๊ฐํ๋ cnt๋ฅผ ๋ํด์ค๋ค.
print('1 ~ 100 ํฉ : ', sum(range(1, 101)))
sum()ํจ์์ range()ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๊ฐ๋จํ๊ฒ ๊ตฌํ ์ ์๋ค. sum()์ ๋ฆฌ์คํธ๋ฅผ ๋ฐ์์ ๊ทธ ์์ ์๋ ์์๋ค์ ๋ํด์ฃผ๋ ํจ์๋ค.
์ํ์ค(์์๊ฐ ์๋) ์๋ฃํ ๋ฐ๋ณต
์์๊ฐ ์๋ ๋ฌธ์์ด, ๋ฆฌ์คํธ, ํํ ์ธ์ ์งํฉ, ์ฌ์ ๋ ๋ฐ๋ณตํ ์ ์๋ค.
iterable(๋ฐ๋ณต๊ฐ๋ฅํ) ๋ฆฌํด ํจ์ : range, reversed, enumerate, filter, map, zip
names = ["Kim", "Park", "Cho", "Lee", "Choi", "Yoo"] for name in names: print("You are", name) # You are Kim # You are Park # You are Cho # You are Lee # You are Choi # You are Yoo
names ๋ฆฌ์คํธ ์์ ์๋ ์์๋ค ๋ค ๋๋ ค๋๋ ค
my_info = { "name": "Kim", "age": 33, "city": "Seoul" } for key in my_info: print(key, ":", my_info[key]) for val in my_info.values(): print(val)
๋์ ๋๋ฆฌ๋ฅผ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋๋ฆฌ๋ฉด ๊ธฐ๋ณธ๊ฐ์ผ๋ก key๋ง ๋ฝ๋๋ค. values()๋ฅผ ์ฌ์ฉํด ๋ฐธ๋ฅ๊ฐ๋ง ๋ฝ์๋ผ ์ ์์ผ๋ฉฐ ํค๊ฐ๋ง ๋ฝ์ ๋ keys()ํจ์๋ฅผ ์ฌ์ฉํ ์๋ ์๋ค. items()ํจ์๋ฅผ ํธ์ถํ๋ฉด ํค์ ๋ฐธ๋ฅ ๋ ๋ค ๊ฐ์ ธ์ฌ ์ ์๋ค.
name = 'KennRY' for n in name: if n.isupper(): print(n) else: print(n.upper())
๋ฌธ์์ด์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋๋ฆฌ๋ฉด ํ ๊ธ์์ฉ ๋ฆฌํด๋๋ค. ๊ทธ ๊ธ์๋ค์ด ๋๋ฌธ์์ธ์ง ๊ฒ์ฌํด์ ๋๋ฌธ์๊ฐ ์๋๋ผ๋ฉด ๋๋ฌธ์๋ก ๋ฐ๊ฟ์ ์ถ๋ ฅํด๋ณด๋ ์ฝ๋์ด๋ค.
break๋ฌธ
numbers = [14, 3, 4, 7, 10, 24, 17, 2, 33, 15, 34, 36, 38] for num in numbers: if num == 33: print("found : 33!") break else: print("not found : ", num)
๋ฐ๋ณต๋ฌธ ๋๋ฆฌ๋ค๊ฐ ๋ด๊ฐ ์ํ๋ ๊ฐ์ ์ฐพ์์ ๋, ๋ฐ๋ณต๋ฌธ์ ๋ ์คํํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฆ์ ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃํ ์ ์๋ค. ๋ฐ๋ณต๋ฌธ ์์ 33์ ์ฐพ์ผ๋ฉด ๋ฐ๋ณต์ break ํ๊ณ ๋์ค๋ผ๋ ์กฐ๊ฑด๋ฌธ์ ์์ฑํ๋ค.
for-else
for num in numbers: if num == 33: print("found : 33!") break else: print("Not Found 33...")
for๋ฌธ์๋ else๋ฌธ์ ์ฌ์ฉํ ์ ์๋ค. ๋ฐ๋ณต๋ฌธ์ด ์ ์์ ์ผ๋ก ์ํ๋ ๊ฒฝ์ฐ else๋ฌธ์ ์ํํ๋ค. for๋ฌธ์ break๊ฐ ์คํ๋ ๊ฒฝ์ฐ์ else๋ฌธ์ ์คํํ์ง ์๋๋ค.
continue๋ฌธ
lt = ["1", 2, 5, True, 4.3, complex(4)] for v in lt: if type(v) is float: continue print("type:", type(v))
์ํ๋ ์กฐ๊ฑด์ ํด๋นํ๋ ์์๋ฅผ ์ฐพ์ผ๋ฉด ๊ทธ๊ฑด ์ฝ๋๋ฅผ ์ํํ์ง ์๊ณ ๋ฐ๋ก ๋ค์ ์์๋ก ๋์ด๊ฐ๋ค. ์ ์ฝ๋์์ floatํ์ ์ ์์ 4.3์ ์ถ๋ ฅ๋์ง ์๋๋ค.
๐ NEXT : ํ์ด์ฌ ํจ์์ ๋๋ค ๊ณต๋ถํ๊ธฐ
๋ฐ์ํ'PYTHON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ์ด์ฌ ๊ธฐ์ด 6. ํด๋์ค์ ์์ (0) 2020.08.31 ํ์ด์ฌ ๊ธฐ์ด 5. ํจ์์ ๋๋ค์ (0) 2020.08.30 ํ์ด์ฌ ๊ธฐ์ด 3. ๋ฆฌ์คํธ, ํํ, ๋์ ๋๋ฆฌ, ์งํฉ ์๋ฃํ (0) 2020.08.27 ํ์ด์ฌ ๊ธฐ์ด 2. ์ซ์ํ๊ณผ ๋ฌธ์ํ ๋ฐ์ดํฐํ์ (0) 2020.08.26 ํ์ด์ฌ ๊ธฐ์ด 1. ๋ฌธ์์ด ์ถ๋ ฅ๊ณผ ์ต์ ์ฌ์ฉ (0) 2020.08.24