使用Python编写的命令行日历应用程序
发布时间:2023-12-04 13:40:54
以下是一个使用Python编写的命令行日历应用程序的示例:
import datetime
def print_calendar(year, month):
# 获取当前月份的第一天
first_day = datetime.date(year, month, 1)
# 获取当前月份的下个月的第一天
if month == 12:
next_month = datetime.date(year + 1, 1, 1)
else:
next_month = datetime.date(year, month + 1, 1)
# 计算当前月份的日历表格
calendar = [[None] * 7 for _ in range(6)] # 初始化日历表格
current_day = first_day
current_row = 0
current_col = first_day.weekday()
while current_day < next_month:
calendar[current_row][current_col] = current_day.day
current_day += datetime.timedelta(days=1)
current_col = (current_col + 1) % 7
if current_col == 0:
current_row += 1
# 打印日历表格
print("{:^20}".format(f"{year}年{month}月"))
print("-" * 20)
print("日 一 二 三 四 五 六")
for row in calendar:
for day in row:
if day is not None:
print("{:>2}".format(day), end=" ")
else:
print(" ", end=" ")
print()
if __name__ == '__main__':
year = int(input("请输入年份:"))
month = int(input("请输入月份:"))
print_calendar(year, month)
这个程序可以根据给定的年份和月份打印该月份的日历表格。它使用了datetime模块来处理日期和时间相关的操作。
以下是一个示例运行结果:
请输入年份:2022
请输入月份:1
2022年1月
--------------------
日 一 二 三 四 五 六
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
你可以根据需要修改输入和输出的方式,比如改为从命令行参数获取年份和月份,使用argparse模块来解析命令行参数等。这只是一个简单的示例,你可以根据自己的需求对程序进行扩展和修改。
