๐ญ ๋ชจ๋ฅด๋ ๋ฌธ์ ๋ฅผ ์ฐจ๊ทผ์ฐจ๊ทผ ์ ๋ฆฌํด ๋ณด๊ฒ ์.
15. If Statement
Assignment
Input ๊ฐ์ด ํ์ ์ด๋ฉด "ํ์" ๋ผ๊ณ ์ถ๋ ฅ ํ๊ณ ์ง์ ์ด๋ฉด "์ง์" ๋ผ๊ณ ์ถ๋ ฅํ๋ ์ฝ๋๋ฅผ ๊ตฌํํด์ฃผ์ธ์.
Input ๊ฐ์ ์๋์ผ๋ก ์ ๋ ฅ๋ฉ๋๋ค.number = int(input("์ซ์๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์: ")) if number %2 == 0: print("์ง์") if number %2 == 1: print("ํ์")
16. If (1) - is_okay_to_drive
[์กฐ๊ฑด๋ฌธ] 1. is_okay_to_drive
is_okay_to_drive ํจ์๋ฅผ ์์ฑํ์ธ์.
- ํจ์์ ์ธ์ who ๊ฐ "son" ์ด๋ฉด "Nope!" ๋ฆฌํด
- ํจ์์ ์ธ์ who ๊ฐ "dad" ์ด๋ฉด "Good!" ๋ฆฌํด
- ํจ์์ ์ธ์ who ๊ฐ "grand father" ์ด๋ฉด "Be careful!" ๋ฆฌํด
- ๋๋จธ์ง์ ๊ฒฝ์ฐ "Who are you?" ๋ฆฌํด
def is_okay_to_drive(who): if who == "son": return "Nope!" elif who == "dad": return "Good!" elif who == "grand father": return "Be careful!" else: return "Who are you?"
def๋ ํจ์๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉํ๋ ์์ฝ์ด์ด๋ฉฐ, ํจ์ ์ด๋ฆ์ ํจ์๋ฅผ ๋ง๋๋ ์ฌ๋์ด ์์๋ก ๋ง๋ค ์ ์๋ค. ํจ์ ์ด๋ฆ ๋ค ๊ดํธ ์์ ๋งค๊ฐ๋ณ์๋ ์ด ํจ์์ ์ ๋ ฅ์ผ๋ก ์ ๋ฌ๋๋ ๊ฐ์ ๋ฐ๋ ๋ณ์์ด๋ค. ์ด๋ ๊ฒ ํจ์๋ฅผ ์ ์ํ ๋ค์ if, while, for๋ฌธ ๋ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ํจ์์์ ์ํํ ๋ฌธ์ฅ์ ์ ๋ ฅํ๋ค.
๊ฐ๋จํ์ง๋ง ๋ง์ ๊ฒ์ ์ค๋ช ํด ์ฃผ๋ ๋ค์ ์๋ฅผ ๋ณด์.
def add(a, b):
return a + b
์ ํจ์๋ ๋ค์๊ณผ ๊ฐ์ด ํ์ด๋๋ค.
"์ด ํจ์์ ์ด๋ฆ(ํจ์ ์ด๋ฆ)์ add์ด๊ณ ์ ๋ ฅ์ผ๋ก 2๊ฐ์ ๊ฐ์ ๋ฐ์ผ๋ฉฐ ๊ฒฐ๊ด๊ฐ์ 2๊ฐ์ ์ ๋ ฅ๊ฐ์ ๋ํ ๊ฐ์ด๋ค."
์ฌ๊ธฐ์์ return์ ํจ์์ ๊ฒฐ๊ด๊ฐ์ ๋๋ ค์ฃผ๋ ๋ช ๋ น์ด์ด๋ค. ๋จผ์ ๋ค์๊ณผ ๊ฐ์ด add ํจ์๋ฅผ ๋ง๋ค์.
def add(a, b):
return a+b
์ด์ ์ง์ add ํจ์๋ฅผ ์ฌ์ฉํด ๋ณด์.
a = 3
b = 4
c = add(a, b)
print(c)
7
๋ณ์ a์ 3, b์ 4๋ฅผ ๋์ ํ ๋ค์ ์์์ ๋ง๋ add ํจ์์ a์ b๋ฅผ ์ ๋ ฅ๊ฐ์ผ๋ก ๋ฃ์ด ์ค๋ค. ๊ทธ๋ฆฌ๊ณ ๋ณ์ c์ add ํจ์์ ๊ฒฐ๊ด๊ฐ์ ๋์ ํ๋ฉด print(c)๋ก c์ ๊ฐ์ ํ์ธํ ์ ์๋ค.
17. If (2) - check_age
[์กฐ๊ฑด๋ฌธ] 2. check_age
check_age ํจ์๋ฅผ ์์ฑํ์ธ์.
- ์ด๋ฆ(name)๊ณผ ๋์ด(age)๋ฅผ ์ ๋ ฅ๋ฐ๋ check_age๋ผ๋ ํจ์๋ ๋์ด์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ฉ์์ง๋ฅผ ๋ฆฌํดํฉ๋๋ค.
- ๋ง์ผ ๋์ด๊ฐ 21์ด๋ณด๋ค ์ ์ผ๋ฉด, "Go home, (name)!"
- ๋์ด๊ฐ 21์ด์ด๊ฑฐ๋ ๋ ๋ง์ผ๋ฉด, "Nice to meet You, (name)!" ์ ๋ฆฌํดํ์ธ์.
- ์ผํ์ ๊ณต๋ฐฑ, ๋๋ํ๊น์ง ์ ํํ ๋ฆฌํดํด์ผ ํฉ๋๋ค.
def check_age(name, age): if age < 21: return("Go home, "+name+"!") else: return("Nice to meet You, "+name+"!")
def check_age์ name, age parameter์ ๋ฃ๋๋ค. ๋์ด์ ๋ฐ๋ผ return๊ฐ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ if age๋ก ํด์ return๊ฐ์ ๊ตฌํ๋ค. ๋จ, return๊ฐ์ name์ด ๋ค์ด๊ฐ์ผ ํ๋ฏ๋ก string์ ""(์๋ฐ์ดํ)๋ก ๋ฌถ์ด์ฃผ๊ณ ๋ค์์ ํจ์์ ๊ฐ์ด ์์ผ๋ฏ๋ก +name+์ด๋ผ๊ณ ์์ฑํ๋ค.
18. If (3) - equals_wecode
[์กฐ๊ฑด๋ฌธ] 3. equals_wecode
equals_wecode ํจ์๋ฅผ ์์ฑํ์ธ์.
- ์ด ํจ์๋ ์ฃผ์ด์ง ๋ฌธ์์ด์ด "wecode"์ ๊ฐ์์ง์ ์ฌ๋ถ์ ๋ฐ๋ผ true ํน์ false๋ฅผ ๋ฐํํฉ๋๋ค.
def equals_wecode(string): if string == "wecode": return True else: return False
def๋ก equals_wecode๋ผ๋ ํจ์๋ฅผ ๋ง๋ ๋ค. ์์ ๋ค์ด๊ฐ๋ parameter์ ๋ฌธ์์ด์ด๋ฏ๋ก string. ๋ง์ฝ string์ด =="wecode"๋ผ๋ฉด return True๋ฅผ ์๋๋ผ๋ฉด return False.
19. If (4) - find_greater_num
[์กฐ๊ฑด๋ฌธ] 4. find_greater_num
find_greater_num ํจ์๋ฅผ ์์ฑํ์ธ์.
- ๋ ์ซ์๊ฐ ์ฃผ์ด์ก์ ๋ ์ด๋ ์ซ์๊ฐ ๋ ํฐ์ง์ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ค๋ฅธ ๋ฉ์ธ์ง ๊ฐ์ ๋ฆฌํดํฉ๋๋ค.
- ์ฒซ๋ฒ์งธ ์ซ์(num1)๊ฐ ๋๋ฒ์งธ ์ซ์(num2)๋ณด๋ค ๋ ํฐ ๊ฒฝ์ฐ "First one is greater!" ๋ฆฌํด
- ๋๋ฒ์งธ ์ซ์(num2)๊ฐ ์ฒซ๋ฒ์งธ ์ซ์(num1)๋ณด๋ค ๋ ํฐ ๊ฒฝ์ฐ "Second one is greater!" ๋ฆฌํด
- ์ฒซ๋ฒ์งธ ์ซ์(num1)์ ๋๋ฒ์งธ ์ซ์(num2)๊ฐ ๊ฐ์ ๊ฒฝ์ฐ "Same!" ๋ฆฌํด
def find_greater_num(num1, num2): if num1 > num2: return("First one is greater!") elif num1 < num2: return("Second one is greater!") else: return("Same!")
find_greater_num ํจ์๋ฅผ ๋ง๋ค์. ์์ def๋ฅผ ์ ๊ณ parameter์ ๋ ์ซ์(num1, num2)๋ฅผ ์์ฑํ๋ค. num1 > num2: ์ธ ๊ฒฝ์ฐ return("First one is greater!")
Return True / Return False์๋ ๋ค๋ฅด๊ฒ ๋ฌธ์์ด์ด ์ฌ์ฉ๋ ๋๋ return("")๋ฅผ ๋ฐ๋์ ํ๋ค.
20. If (5) - is_even
[์กฐ๊ฑด๋ฌธ] 5. is_even
is_even ํจ์๋ ์ฃผ์ด์ง ์ซ์๊ฐ ์ง์์ธ์ง์ ์ฌ๋ถ๋ฅผ ๋ฐํํฉ๋๋ค.
ํํธ)
- ์ง์๋ ์ด๋ค ํน์ง์ ๊ฐ์ง๊ณ ์๋์? ์ง์์ ์ซ์ 2์ ๊ด๊ณ๋ ์ด๋ป๊ฒ ๋๋์?
- ๋๋จธ์ง ์ฐ์ฐ์ (%) ๋ผ๋ ๊ฒ์ด ์์ต๋๋ค. ํด๋น ๋ด์ฉ์ python ๊ณต์ ๋ ํผ๋ฐ์ค๋ฅผ ์ฝ์ด๋ณด์ธ์.
- ๋ค์์ IDLE์์ ์ ๋ ฅํ๋ฉด, ์ด๋ค ๊ฒฐ๊ณผ๊ฐ ๋์ฌ๊น์?
7 % 2 // --> ?
def is_even(num): if num%2 == 0: return True else: return False
def๋ฅผ ๋ง๋ ๋ค. ๊ทธ ์์๋ parameter๊ฐ ์ซ์ ํ๋ ํ์ํ๋ฏ๋ก num์ด๋ผ ์์ฑํ๋ค. ์ง์๋ num%2 == 0 ๋๋จธ์ง๊ฐ 0์ด๋ค. ์ง์์ธ์ง์ ์ฌ๋ถ๋ฅผ ๋ฐํํ๋ผ๋ ๋ง์ True/False๋ฅผ ๋ฐํํ๋ผ๋ ๋ง์ด๋ค. ์ง์์ด๋ฉด True, ํ์์ด๋ฉด False๋ฅผ ๋ฐํํ๋ค.
21. If (6) - is_odd_and_greater_than_twenty
[์กฐ๊ฑด๋ฌธ] 6. is_odd_and_greater_than_twenty
is_odd_and_greater_than_twenty ํจ์๋ฅผ ์์ฑํ์ธ์.
- ์ซ์๊ฐ ์ฃผ์ด์ก์๋ ์ฃผ์ด์ง ์ซ์๊ฐ ํ์์ด๊ณ 20๋ณด๋ค ํฐ ๊ฒฝ์ฐ์๋ง True๋ฅผ ๋ฐํํฉ๋๋ค.
- ๋ ๊ฐ์ง ์กฐ๊ฑด์ ํ๋ฒ์ ํ๋ณํ๋ ค๋ฉด and ์กฐ๊ฑด์ฐ์ฐ์๋ฅผ ์ฐ๊ฑฐ๋, if ๋ฌธ์ ์ค์ฒฉํด์ ์์ฑํด์ผํฉ๋๋ค.
def is_odd_and_greater_than_twenty(num): if num %2 != 0: if num > 20: return True else: return False else: return False
์ซ์๊ฐ ์ฃผ์ด์ก๋ค๊ณ ํ๋๊น num ํ๋๋ง ํ์. parameter def ,..(num). ์ฃผ์ด์ง ์ซ์๊ฐ ํ์์ด๋ฉด num%2 ==1 or num%2 !=0 ์ด๊ณ num >20ํฐ ๊ฒฝ์ฐ์ True๋ฅผ ๋ฐํ. if๋ฅผ ๋๋ฒ ์ฐ๋ฉด ๋๋ค. ์ค์ฒฉ๋ if๋ if๋ฅผ ๋๋ฒ ์์ฑํ๋๊น, else๋ ๋ค์ฌ์ฐ๊ธฐ๋ฅผ ๋ง์ถฐ์ ๋๋ฒ ์ฌ์ฉํ๋ฉด ๋๋ค. ํ ๋ฒ ์ฐ๋ฉด ์ค๋ฅ๊ฐ ๋๋ฏ๋ก ์ฃผ์์ฃผ์! ๐ฅ
22. Comparison Operators
Assignment
๋ง์ผ input ๊ฐ์ด 3์๋ฆฌ ์ ์ด์์ ์ ์ด๋ฉด "YES" ๋ฅผ ์ถ๋ ฅํ์๊ณ ์๋๋ฉด "NO" ๋ฅผ ์ถ๋ ฅํ์ธ์.
Input ๊ฐ์ ์๋์ผ๋ก ์ ๋ ฅ๋ฉ๋๋ค.number = int(input("์ซ์๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์: ")) if number > 99: print("YES") if number <= 99: print("NO")
23. elif and else
Assignment
์ข์ฐ์ ์ํ๊ฐ ๋ชจ๋ 1 ๋ถํฐ 8๊น์ง์ ์นธ์ผ๋ก ์ด๋ฃจ์ด์ ธ ๊ตฌ์ฑ ๋์ด ์๋ ์ฒด์ค๋ณด๋๊ฐ ์์ต๋๋ค.
์ฃผ์ด์ง input ๊ฐ 2๊ฐ๋ฅผ ํตํด์ ํด๋น ์นธ์ ์๊น์ด ๊ฒ์์์ด๋ฉด "YES"๋ฅผ, ์๋๋ฉด "NO" ๋ฅผ ์ถ๋ ฅํ์ธ์.
Input ๊ฐ์ 2๊ฐ๊ฐ ์ฃผ์ด์ง๋๋ค. ์ฒซ๋ฒ์งธ input์ X ์ถ์ด๋ฉฐ ๋๋ฒ์งธ input์ Y ์ถ์ ๋๋ค.
์๋ฅผ ๋ค์ด, input ๊ฐ์ด 2์ 6 ์ด๋ฉด ๊ฒ์์ box ์ ๋๋ค.
x = int(input("X ๊ฐ์ ์ ๋ ฅํด์ฃผ์ธ์: ")) y = int(input("Y ๊ฐ์ ์ ๋ ฅํด์ฃผ์ธ์: ")) if (x+y) % 2 == 0: print('YES') else: print('NO')
๊ฒ์์ ์นธ์ ํ์+ํ์ or ์ง์+์ง์์ผ ๋ ๋ํ๋๊ธฐ ๋๋ฌธ์ (x+y) % 2 ==0 ๋์ ํฉ์ด ์ง์์ธ ๊ฒฝ์ฐ์ print('YES')๋ฅผ ํ๋ค. ์ด ๊ฒฝ์ฐ์๋ return์ ์ฐ์ด์ง ์๊ณ print๊ฐ ์ฐ์๋๋ฐ ๋๊ฐ์ ์ฐจ์ด๋ฅผ ๋ค์ ํฌ์คํ ์ ์์๋ด์ผ๊ฒ ๋ค. ๐ฅฐ