编写python程序实现输出万年历
时间: 2023-07-05 22:33:17 浏览: 95
实现万年历的代码
好的,以下是Python程序实现输出万年历的代码:
```python
# 定义每个月份的天数
month_day = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# 定义星期列表
week_day = ["日", "一", "二", "三", "四", "五", "六"]
# 判断某一年是否为闰年
def is_leap_year(year):
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
# 计算某一年某一月第一天是星期几
def get_week_day(year, month):
days = 0
for i in range(1, year):
if is_leap_year(i):
days += 366
else:
days += 365
for i in range(1, month):
days += month_day[i]
if i == 2 and is_leap_year(year):
days += 1
return (days + 1) % 7
# 输出万年历
def print_calendar(year, month):
# 打印年份和月份
print("%d年%d月" % (year, month))
# 打印星期
for i in range(len(week_day)):
print(week_day[i], end="\t")
print()
# 计算第一天是星期几
first_day = get_week_day(year, month)
# 打印第一行空格
print("\t" * first_day, end="")
# 打印日期
for i in range(1, month_day[month] + 1):
print("%d\t" % i, end="")
if (i + first_day) % 7 == 0:
print()
print()
# 测试代码
print_calendar(2021, 2)
```
输出结果如下:
```
2021年2月
日 一 二 三 四 五 六
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28
```
以上代码可以实现输出指定年份和月份的万年历,并且考虑了闰年的情况。
阅读全文