๐Ÿ‘ฉ‍๐Ÿ’ป Learn programming/Python

[Python] ํŒŒ์ด์ฌ ์กฐ๊ฑด๋ฌธ / ํ•™์Šต๋‚ด์šฉ ์ •๋ฆฌ

๋ฐ๊ตฅ์ž‰ 2022. 1. 30. 18:00

๐Ÿฑ ๋ถˆ ์ž๋ฃŒํ˜•

 

1. ๋ถˆ(Boolean)

โœ… ์‹ค์ œ ๋ฐœ์Œ์€ '๋ถˆ๋ฆฐ'์— ๊ฐ€๊นŒ์šด๋ฐ, ๊ตญ๋‚ด์—์„œ๋Š” '๋ถˆ'์ด๋ผ๊ณ  ๋งŽ์ด ์”€

โœ… ์ˆซ์ž์™€ ๋ฌธ์ž์—ด์€ ๋ฌดํ•œํ•œ ์ข…๋ฅ˜๋ฅผ ๋งŒ๋“ค์–ด ๋‚ผ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ถˆ์€ True(์ฐธ), False(๊ฑฐ์ง“)์œผ๋กœ๋งŒ ๋‚˜ํƒ€๋ƒ„.

โœ… ๋ฌด์—‡์ด ์ฐธ๊ณผ ๊ฑฐ์ง“์ธ์ง€๊ฐ€ ์ค‘์š”ํ•จ! 

โœ… ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” true/false์ง€๋งŒ, ํŒŒ์ด์ฌ์€ True/False.

 

2. ๋ถˆ ๋งŒ๋“ค๊ธฐ: ๋น„๊ต ์—ฐ์‚ฐ์ž

์—ฐ์‚ฐ์ž ์„ค๋ช… ์กฐ๊ฑด์‹ ๊ฒฐ๊ณผ
== ๊ฐ™๋‹ค 10 == 100 ๊ฑฐ์ง“
!= ๋‹ค๋ฅด๋‹ค 10 != 100 ์ฐธ
< ์ž‘๋‹ค 10 < 100 ์ฐธ
> ํฌ๋‹ค 10 > 100 ๊ฑฐ์ง“
<= ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค 10 <= 100 ์ฐธ
>= ํฌ๊ฑฐ๋‚˜ ๊ฐ™๋‹ค 10 >= 100 ๊ฑฐ์ง“

โœ… ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” 10 < X and X < 20

โœ… ํŒŒ์ด์ฌ์—์„œ๋Š” 10 < X < 20

 

3. ๋ถˆ ์—ฐ์‚ฐํ•˜๊ธฐ: ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž

โœ… not ์—ฐ์‚ฐ์ž (์ž๋ฃŒ ํ•˜๋‚˜์—๋งŒ ์ ์šฉํ•˜๋Š” ๋‹จํ•ญ ์—ฐ์‚ฐ์ž) : ์ฐธ๊ณผ ๊ฑฐ์ง“์„ ๋ฐ”๊ฟ€ ๋•Œ ์‚ฌ์šฉ. 

โœ… and ์—ฐ์‚ฐ์ž์™€ or ์—ฐ์‚ฐ์ž (์ž๋ฃŒ ๋‘๊ฐœ์— ์ ์šฉํ•˜๋Š” ์ดํ•ญ ์—ฐ์‚ฐ์ž

AND ๊ฒฐ๊ณผ
True and True True
True and False False
False and True False
False and False False
OR ๊ฒฐ๊ณผ
True or True True
True or False True
False or True True
False or False False

 


๐Ÿฑ if ์กฐ๊ฑด๋ฌธ

 

1. if ์กฐ๊ฑด๋ฌธ

if ์กฐ๊ฑด :
	์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰ํ•  ๋ฌธ์žฅ

โœ… ๋“ค์—ฌ์“ฐ๊ธฐ ์ œ๊ฑฐ : backspace, shift + Tab -> ์—ฌ๋Ÿฌ ์ค„๋„ ๊ฐ€๋Šฅ.

 

2. ๋‚ ์งœ/์‹œ๊ฐ„ ํ™œ์šฉํ•˜๊ธฐ

#datetime ๋ชจ๋“ˆ ๊ฐ€์ ธ์˜ค๊ธฐ
import datetime


now = datetime.datetime.now()

# ํ•œ ์ค„์— ์ถœ๋ ฅํ•˜๊ธฐ
print("{}๋…„ {}์›” {}์ผ {}์‹œ {}๋ถ„ {}์ดˆ".format(
    now.year,
    now.month,
    now.day,
    now.hour,
    now.minute,
    now.second
))

# ์˜ค์ „/์˜คํ›„ ๊ตฌ๋ถ„ํ•˜๊ธฐ
if now.hour < 12 :
    print("์˜ค์ „์ž…๋‹ˆ๋‹ค.๐ŸŒž")
else :
    print("์˜คํ›„์ž…๋‹ˆ๋‹ค.๐ŸŒ")

# ๊ณ„์ ˆ ๊ตฌ๋ถ„ํ•˜๊ธฐ
if 3 <= now.month <= 5 :
    print("๋ด„ ์ž…๋‹ˆ๋‹ค.๐ŸŒผ")
elif 6 <= now.month <= 8 :
    print("์—ฌ๋ฆ„ ์ž…๋‹ˆ๋‹ค.๐Ÿ‰")
elif 9 <= now.month <= 11 :
    print("๊ฐ€์„ ์ž…๋‹ˆ๋‹ค.๐Ÿ‚")
else :
    print("๊ฒจ์šธ ์ž…๋‹ˆ๋‹ค.โ˜ƒ๏ธ")

# ๊ฒจ์šธ์„ if๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ?
if now.month == 12 or now.month <= 2 :
        print("๊ฒจ์šธ ์ž…๋‹ˆ๋‹ค.โ˜ƒ๏ธ")

 

3. ํ™€์ˆ˜์™€ ์ง์ˆ˜ ๊ตฌ๋ถ„

โœ… ํ™€์ˆ˜์™€ ์ง์ˆ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•
     1. or ์—ฐ์‚ฐ์ž
     2. in ์—ฐ์‚ฐ์ž
     3. ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž (%) => ๊ฐ€์žฅ ๊ฐ„ํŽธ!
number = input("์ •์ˆ˜ ์ž…๋ ฅ> ")

# ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ ์ˆซ์ž ์ถ”์ถœ
last_character = number[-1]

# ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ
last_number = int(last_character)

# 1๋ฒˆ ๋ฐฉ์‹
if last_number == 1 \
    or last_number == 3 \
    or last_number == 5 \
    or last_number == 7 \
    or last_number == 9 :
    print("ํ™€์ˆ˜์ž…๋‹ˆ๋‹ค.") 

if last_number == 0 \
    or last_number == 2 \
    or last_number == 4 \
    or last_number == 6 \
    or last_number == 8 :
    print("์ง์ˆ˜์ž…๋‹ˆ๋‹ค.") 

# 2๋ฒˆ ๋ฐฉ์‹
if last_character in "13579" :
    print("ํ™€์ˆ˜์ž…๋‹ˆ๋‹ค.")

if last_character in "02468" :
    print("์ง์ˆ˜์ž…๋‹ˆ๋‹ค.")

# 3๋ฒˆ ๋ฐฉ์‹
# ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ
number = int(number)

if number % 2 == 1 :
    print("ํ™€์ˆ˜์ž…๋‹ˆ๋‹ค.")

if number % 2 == 0 :
    print("์ง์ˆ˜์ž…๋‹ˆ๋‹ค.")

*๏ธโƒฃ ํŒŒ์ด์ฌ์—์„œ ์ค„์ด ๋„ˆ๋ฌด ๊ธธ์–ด์งˆ ๋•Œ๋Š” \ ๊ธฐํ˜ธ๋ฅผ ์ž…๋ ฅํ•ด์„œ ์ฝ”๋“œ ์ž…๋ ฅ.

 

โ‡๏ธ ๊ฒฐ๊ณผ ์ถœ๋ ฅ

 


๐Ÿฑ if~else์™€ elif ๊ตฌ๋ฌธ

 

1. if-else, elif ์กฐ๊ฑด๋ฌธ

if ์กฐ๊ฑดA:
	์กฐ๊ฑดA๊ฐ€ ์ฐธ์ผ ๋•Œ ์‹คํ–‰ํ•  ๋ฌธ์žฅ
elif ์กฐ๊ฑดB:
	์กฐ๊ฑดB๊ฐ€ ์ฐธ์ผ ๋•Œ ์‹คํ–‰ํ•  ๋ฌธ์žฅ
elif ์กฐ๊ฑดC:
	์กฐ๊ฑดC๊ฐ€ ์ฐธ์ผ ๋•Œ ์‹คํ–‰ํ•  ๋ฌธ์žฅ
...
else:
	์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰ํ•  ๋ฌธ์žฅ

 

2. False๋กœ ๋ณ€ํ™˜๋˜๋Š” ๊ฐ’

โœ… None, 0, 0.0๊ณผ ๋นˆ ์ปจํ…Œ์ด๋„ˆ(๋นˆ ๋ฌธ์ž์—ด, ๋นˆ ๋ฐ”์ดํŠธ์—ด, ๋นˆ ๋ฆฌ์ŠคํŠธ, ๋นˆ ํŠœํ”Œ, ๋นˆ ๋”•์…”๋„ˆ๋ฆฌ ๋“ฑ)

โœ… ์ด ์™ธ์—๋Š” True๋กœ ๋ณ€ํ™˜๋จ.

#if ์กฐ๊ฑด๋ฌธ์— 0 ๋„ฃ๊ธฐ
if 0 :
    print("0์€ True๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ")
else :
    print("0์€ False๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ")
print()

#if ์กฐ๊ฑด๋ฌธ์— ๋นˆ ๋ฌธ์ž์—ด ๋„ฃ๊ธฐ
if "" :
    print("๋นˆ ๋ฌธ์ž์—ด์€ True๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ")
else :
    print("๋นˆ ๋ฌธ์ž์—ด์€ False๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ")

โ‡๏ธ ๊ฒฐ๊ณผ ์ถœ๋ ฅ

 

3. pass ํ‚ค์›Œ๋“œ

โœ… ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ „์ฒด ๊ณจ๊ฒฉ์„ ์žก์•„๋†“๊ณ , ๋‚ด๋ถ€์— ์ฒ˜๋ฆฌํ•  ๋‚ด์šฉ์€ ๋‚˜์ค‘์— ๋งŒ๋“ค๊ณ ์ž ํ• ๋•Œ pass ํ‚ค์›Œ๋“œ ์ž…๋ ฅ

โœ… ์ด๋•Œ ๊ณจ๊ฒฉ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ, ํ•จ์ˆ˜, ํด๋ž˜์Šค ๋“ฑ์˜ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ์„ ๋งํ•จ

# ์ž…๋ ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
number = input("์ •์ˆ˜ ์ž…๋ ฅ > ")
number = int(number)

# ์กฐ๊ฑด๋ฌธ ์‚ฌ์šฉ
if number > 0 :
	# ์–‘์ˆ˜์ผ ๋•Œ : ์•„์ง ๋ฏธ๊ตฌํ˜„ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
    pass
else : 
	# ์Œ์ˆ˜์ผ ๋•Œ : ์•„์ง ๋ฏธ๊ตฌํ˜„ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
    pass

โœ… ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” if๋ฌธ ์•ˆ์— ์•„๋ฌด ๋‚ด์šฉ์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„ ์‹คํ–‰์ด ์ •์ƒ์ ์œผ๋กœ ๋˜์ง€๋งŒ,

โœ… ํŒŒ์ด์ฌ์˜ ๊ฒฝ์šฐ์—๋Š” IndentationError ๋ฐœ์ƒ. (๋“ค์—ฌ์“ฐ๊ธฐ๊ฐ€ ์ž˜๋ชป๋˜์–ด ์žˆ๋‹ค๋Š” ์˜๋ฏธ)

โœ… ํŒŒ์ด์ฌ์˜ if ์กฐ๊ฑด๋ฌธ ์‚ฌ์ด์—๋Š” ๋ฌด์กฐ๊ฑด ๋“ค์—ฌ์“ฐ๊ธฐ 4์นธ์„ ๋„ฃ๊ณ  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผ๋งŒ ๊ตฌ๋ฌธ์ด ์„ฑ๋ฆฝ๋จ.

 

*๏ธโƒฃ raise NotImplementError

โœ… ์•„์ง ๊ตฌํ˜„ํ•˜์ง€ ์•Š์€ ๋ถ€๋ถ„์ด๋ผ๋Š” ์˜๋ฏธ๋กœ, pass ํ‚ค์›Œ๋“œ๋ฅผ ์žŠ์–ด๋ฒ„๋ฆฌ์ง€ ์•Š๊ฒŒ ์˜ค๋ฅ˜๋ฅผ ๊ฐ•์ œ๋กœ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ.

# ์ž…๋ ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
number = input("์ •์ˆ˜ ์ž…๋ ฅ > ")
number = int(number)

# ์กฐ๊ฑด๋ฌธ ์‚ฌ์šฉ
if number > 0 :
	# ์–‘์ˆ˜์ผ ๋•Œ : ์•„์ง ๋ฏธ๊ตฌํ˜„ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
    raise NotImplementedError
else : 
	# ์Œ์ˆ˜์ผ ๋•Œ : ์•„์ง ๋ฏธ๊ตฌํ˜„ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.
    raise NotImplementedError