编程实现日历的输出,假如知道了某月 1日是星期几、该月有多少天,就可以借助数组输出该月的日历。比如某个月份的1号是星期四,该月有30 天。请编程实现
时间: 2023-06-05 07:04:37 浏览: 95
以下是一个可行的 Python 代码实现:
```
def print_calendar(first_day, days):
# 定义一个名为“weekdays”的列表,表示星期几
weekdays = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
# 打印日历的表头
print(" " * 8, end="")
for weekday in weekdays:
print(weekday, end=" ")
print()
# 打印该月的日历
current_day = 1 # 当前日期从1号开始
while current_day <= days:
# 打印每一行的日期
for i in range(7):
if current_day == 1:
# 第一行要注意该月的1号在星期几
if i == first_day:
print("{:2d}".format(current_day), end=" ")
current_day += 1
else:
print(" ", end=" ") # 输出空格占位
else:
# 之后的行直接输出日期
if current_day > days:
break # 日期已经超过该月的最大天数,退出循环
print("{:2d}".format(current_day), end=" ")
current_day += 1
print() # 每一行输出完后换行
# 示例:输出2022年8月的日历
print(" August 2022")
print_calendar(0, 31) # 2022年8月1日是星期一,该月有31天
```
输出结果为:
```
August 2022
Sun Mon Tue Wed Thu Fri Sat
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
29 30 31
```
请注意,本代码仅仅展示了如何输出一个月的日历,而没有涉及到输入每个月的信息(比如1号是星期几、该月有多少天)。实际上,获取这些信息需要引入一些外部数据或函数,可以根据具体的应用场景进行改进。