帮我写一个万年历的代码
时间: 2023-08-20 15:30:12 浏览: 36
好的,下面是 Python 代码实现简单的万年历功能:
```python
# 计算某年某月第一天是星期几
def get_weekday(year, month):
if month == 1 or month == 2:
month += 12
year -= 1
c = year // 100
y = year % 100
m = month
d = 1
w = (c // 4 - 2 * c + y + y // 4 + 13 * (m + 1) // 5 + d - 1) % 7
return w
# 输出某年某月的日历
def print_calendar(year, month):
# 计算该月第一天是星期几
w = get_weekday(year, month)
# 计算该月的天数
days_of_month = [31,28,31,30,31,30,31,31,30,31,30,31]
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
days_of_month[1] = 29
days = days_of_month[month - 1]
# 输出日历
print("{0}年{1}月".format(year, month))
print("日 一 二 三 四 五 六")
for i in range(w):
print(" ", end="")
for i in range(1, days + 1):
if w == 6:
print("{0:2d}".format(i))
else:
print("{0:2d} ".format(i), end="")
w = (w + 1) % 7
print()
# 主程序
if __name__ == "__main__":
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
print_calendar(year, month)
```
使用方法:运行程序后,输入年份和月份,即可输出对应的日历。