ใ กใ กใ กใ กใ ก
# ์ฃผ์์ ์ ๋ฒ์ ๋ค ์จ๋์์ผ๋ฏ๋ก ํจ์์ ๋ํ ์ฃผ์์ ์๋ตํ๊ฒ ๋ค.
def isLeapYear(year):
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]
m[1] = 29 if isLeapYear(year) else 28
return m[month - 1]
def totalDay(year, month, day):
total = (year - 1) * 365 + (year - 1) // 4 - (year - 1) // 100 + (year - 1) // 400
for i in range(1, month):
total += lastDay(year, i)
return total + day
def weekDay(year, month, day):
return totalDay(year, month, day) % 7
ใ กใ กใ ก
year, month = map(int, input('๋ฌ๋ ฅ์ ์ถ๋ ฅํ ๋
, ์์ ์
๋ ฅํ์ธ์ : ').split())
print('=' * 28)
print(' {0:4d}๋
{1:2d}์'.format(year, month))
print('=' * 28)
print(' ์ผ ์ ํ ์ ๋ชฉ ๊ธ ํ ')
print('=' * 28) # ์ฌ๊ธฐ๊น์ง ๋ฌ๋ ฅ์ ์๋ถ๋ถ์ด๋ค.
for i in range(weekDay(year, month, 1)):
# 1์ผ์ด ์ถ๋ ฅ๋ ์์ผ์ ์์น๋ฅผ ๋ง์ถ๊ธฐ ์ํด์ 1์ผ์ ์์ผ๋งํผ ๋ฐ๋ณตํ๋ฉฐ ๋น์นธ์ ์ถ๋ ฅํ๋ค.
print(' ', end = '') #๋น ์นธ์ ๋ฐ๋ณต๋น 4์นธ์ฉ ๋์ด๋ค.
# 1์ผ ๋ถํฐ ๋ฌ๋ ฅ์ ์ถ๋ ฅํ ๋ฌ์ ๋ง์ง๋ง ๋ ์ง๊น์ง ๋ฐ๋ณตํ๋ฉฐ ๋ฌ๋ ฅ์ ์ถ๋ ฅํ๋ค.
for i in range(1, lastDay(year, month) + 1): # i๊ฐ 1๋ถํฐ ํด๋น ๋ฌ์ ๋ง์ง๋ง ๋ ์ง์ ์๊น์ง ๋ณํ๋ ๋์.
print(' {0:2d} '.format(i), end = '')
# ์ถ๋ ฅํ ๋ ์ง(i)๊ฐ ํ ์์ผ์ด๊ณ ๊ทธ ๋ฌ์ ๋ง์ง๋ง ๋ ์ง๊ฐ ์๋๋ฉด ์ค์ ๋ฐ๊พผ๋ค.
if weekDay(year, month, i) == 6 and i != lastDay(year, month):
print()
print('\n' + '=' * 28) # ๋ฌ๋ ฅ ํ๋จ ๋ถ๋ถ.
ใ กใ กใ กใ กใ ก
์ด์ด์.
':: Python ๐ฉ > ๊ธฐ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] 20_๋ฌ๋ ฅ๋ง๋ค๊ธฐ -3- (0) | 2021.03.08 |
---|---|
[Python] 18. ๋ฌ๋ ฅ๋ง๋ค๊ธฐ -1- (0) | 2021.03.07 |
[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 |
๋๊ธ