万年历 打印出全年年历。 输入要求:四位数年份和该年元旦星期几。 算法说明: 一年12个月,计算第1(month)月的天数;输出第1(month)月的年历。 1)天数的最大值有大小月、闰年之分输出年历 2)月份表头、星期表
时间: 2024-02-09 07:10:05 浏览: 222
头和日期对齐,可以使用格式化输出函数实现。下面是一个简单的 Python 实现:
```python
year = int(input("请输入年份:"))
week = int(input("请输入该年元旦星期几(星期日为0,星期一为1,以此类推):"))
# 判断是否为闰年
is_leap_year = False
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
is_leap_year = True
# 计算每个月的天数
days_of_month = [31, 28 + is_leap_year, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# 输出年历
print("{:^70}".format(year))
print("{:<10}{:<10}{:<10}{:<10}{:<10}{:<10}{:<10}".format("一月", "二月", "三月", "四月", "五月", "六月", "七月"))
for i in range(6):
for j in range(7):
if i == 0 and j < week:
print("{:<10}".format(""), end="")
else:
day = (i - 1) * 7 + j - week + 2
if day <= days_of_month[0]:
print("{:<10}".format(day), end="")
else:
print("{:<10}".format(""), end="")
print()
for i in range(4):
for j in range(7):
day = i * 7 + j + 2
if day <= days_of_month[i + 1]:
print("{:<10}".format(day), end="")
else:
print("{:<10}".format(""), end="")
print()
```
这个程序首先根据输入的年份和星期计算出每个月的天数,然后按照格式输出年历。其中 `{:^70}` 表示输出一个宽度为 70 的居中文本,`{:<10}` 表示输出一个宽度为 10 的左对齐文本。
阅读全文