์ธ์๋ก ๋ ๋๋ฅผ ๋๊ฒจ๋ฐ์ ์ค๋ , ํ๋ ์ ํ๋จํด์ ์ค๋ ์ด๋ฉด True, ํ๋ ์ด๋ฉด False๋ฅผ ๋ฆฌํดํ๋ ํจ์.
์ค๋
, ํ๋
ํ๋ณ์ => ๋
๋๊ฐ 4์ ๋จ์ด์ง๊ณ 100์ ๋จ์ด์ง์ง ์๊ฑฐ๋ 400์ ๋จ์ด์ง๋ฉด ์ค๋
, ๊ทธ๋ ์น ์์ผ๋ฉด ํ๋
return ๊ฐ์ด ๋ ผ๋ฆฌ๊ฐ(True ๋๋ False)์ธ ํจ์์ ์ด๋ฆ์ 'is'๋ก ์์ํ๋ ๊ฒ์ด ๊ดํ์ด๋ค.
def isLeapYear(year): # ์ค๋
์ด๋ฉด True, ์๋๋ฉด False ๋ฅผ ์ถ๋ ฅํ๋ ํจ์.
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
def lastDay(year, month): # ์ธ์๋ก ๋
, ์์ ๋๊ฒจ๋ฐ์ ๊ทธ ๋ฌ์ ๋ง์ง๋ง ๋ ์ง๋ฅผ ๋ฆฌํดํ๋ ํจ์
m = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# 12๋ฌ์ ๋ง์ง๋ง ๋ ์ง๋ฅผ ๊ธฐ์ตํ๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค. => ์ผ๋จ 2์์ ๋ง์ง๋ง ๋ ์ง๋ 28์ผ๋ก ์ด๊ธฐํ ์ํจ๋ค.
# 2์์ ๋ง์ง๋ง ๋ ์ง๋ฅผ ํ์ ํ๋ค. => ์ค๋
์ด๋ฉด 29์ผ๋ก ์์ ํ๋ค.
# if isLeapYear(year):
# m[1] = 29
m[1] = 29 if isLeapYear(year) else 28 # isLeapYear(year)์ด T์ด๋ฉด m[1]์ 29์ด๋ค.
return m[month - 1] # ์ธ์๋ก ๋๊ฒจ๋ฐ์ ์์ ํด๋น๋๋ ๋ง์ง๋ง ๋ ์ง๋ฅผ ๋ฆฌํด์ํจ๋ค.
def totalDay(year, month, day): # ๋
, ์, ์ผ์ ๋๊ฒจ๋ฐ์ 1๋
1์ 1์ผ ๋ถํฐ ์ง๋ ๋ ์ง์ ํฉ๊ณ๋ฅผ ๋ฆฌํดํ๋ ํจ์
# 1๋
1์ 1์ผ ๋ถํฐ ์ ๋
๋ 12์ 31์ผ ๊น์ง ์ง๋ ๋ ์ง๋ฅผ ๊ณ์ฐํ๋ค.
total = (year - 1) * 365 + (year - 1) // 4 - (year - 1) // 100 + (year - 1) // 400
# ์ ๋
๋ ๊น์ง ์ง๋ ๋ ์ง์ ํฉ๊ณ์ ์ ๋ฌ๊น์ง ์ง๋ ๋ ์ง๋ฅผ ๋ํ๋ค.
for i in range(1, month): # i๊ฐ 1๋ถํฐ month๊น์ง ๋ณํ๋ ๋์.
total += lastDay(year, i) # m = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]์ ์ฑ๋ถ๋ค์ ํตํด ๊ณ์ฐ ๋๋ค.
return total + day # ์ ๋ฌ ๊น์ง ์ง๋ ๋ ์ง์ ์ผ์ ๋ํด์ ๋ฆฌํด์ํจ๋ค.
def weekDay(year, month, day):
return totalDay(year, month, day) % 7
# ์ธ์๋ก ๋
, ์, ์ผ์ ๋๊ฒจ๋ฐ์ ์์ผ์ ๊ณ์ฐํด ์ซ์๋ก ๋ฆฌํดํ๋ ํจ์
# ์ผ์์ผ(0), ์์์ผ(1), ํ์์ผ(2), ์์์ผ(3), ๋ชฉ์์ผ(4), ๊ธ์์ผ(5), ํ ์์ผ(6)
# **ํ๋์ ํ์ด์ฌ ํ์ผ์ ์ฌ์ฉํ ๋๋ if __name__ == '__main__':๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉํ์ง ์์ผ๋ ๋ณ ์ฐจ์ด๊ฐ ์๋ค.**
# ํ์ง๋ง ํ์ฌ ํ์ผ์ ๋ค๋ฅธ ํ์ผ์์ import ์์ผ์ ์ฌ์ฉํ๊ฒ ๋๋ค๋ฉด if __name__ == '__main__':๋ฅผ ์ฌ์ฉํ์ง ์์ผ๋ฉด
# ํ
์คํธ๋ฅผ ์ํด์ ์ฌ์ฉํ๋ ์ฝ๋์ ์คํ ๊ฒฐ๊ณผ๊ฐ ํ์ฌ ํ์ผ์ import ํ ํ์ผ์ ์ถ๋ ฅ๋๋ค.
if __name__ == '__main__':
print(isLeapYear(2021))
print(lastDay(2021, 3))
print(totalDay(2021, 3, 4))
print(weekDay(2021, 3, 4))
#์ฆ, __name__ == __main__์ ์ธํฐํ๋ฆฌํฐ์์ ์ง์ ์คํํ์ ๊ฒฝ์ฐ์๋ง! if๋ฌธ ๋ด์ ์ฝ๋๋ฅผ ๋๋ฆฌ๋ผ๋ ๋ช ๋ น์ด ๋ฉ๋๋ค.
์ด์ด์.
':: Python ๐ฉ > ๊ธฐ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] 20_๋ฌ๋ ฅ๋ง๋ค๊ธฐ -3- (0) | 2021.03.08 |
---|---|
[Python] 19. ๋ฌ๋ ฅ๋ง๋ค๊ธฐ -2- (0) | 2021.03.08 |
[Python] 17_function_5 [๊ฐ๋ณ์ธ์, ์ธ์์ ๊ฐ์๊ฐ ๊ฐ๋ณ์ ์ธ ํจ์] (0) | 2021.03.07 |
[Python] 15_function_3 , 16_function_4 [ํจ์ ํธ์ถ, ๋ํดํธ ์ธ์] (0) | 2021.03.07 |
[Python] 14_function_2 [์ค๋ฒ๋ก๋ฉ ์ง์x] (0) | 2021.03.03 |
๋๊ธ