def get_week_with_date(y, m, d):
if m == 1:
y -= 1
m = 13
if m == 2:
y -= 1
m = 14
w = (d + 2 * m + 3 * (m + 1) // 5 + y + y // 4 - y // 100 + y // 400) % 7 + 1
return w
def is_leap_year(y):
return y % 400 == 0 or (y % 4 == 0 and y % 100 != 0)
def get_days_in_month(y, m):
if m in [1, 3, 5, 7, 8, 10, 12]:
return 31
elif m in [4, 6, 9, 11]:
return 30
else:
return 29 if is_leap_year(y) else 28
year = int(input("请输入年份: "))
month = int(input("请输入月份: "))
day = get_days_in_month(year, month)
print("一 二 三 四 五 六 日")
for i in range(1, day + 1):
w = get_week_with_date(year, month, i)
if i == 1:
print(f"{' ' * (w - 1) * 3}", end="")
print(f"{i:2d}", end=" ")
if w == 7:
print("")
python函数日历
最新推荐文章于 2024-04-30 21:22:05 发布