管理一年中的特定日期

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个项目中,你将学习如何使用 Python 打印给定年份中的所有周六。这个项目旨在帮助你理解如何在 Python 中处理日期和时间,以及如何使用datetime模块执行与日期相关的操作。

👀 预览

$ python3 Saturday.py
2021-01-02
2021-01-09
2021-01-16
2021-01-23
2021-01-30
2021-02-06
2021-02-13
2021-02-20
2021-02-27
2021-03-06
2021-03-13
2021-03-20
2021-03-27
2021-04-03
2021-04-10
2021-04-17
2021-04-24
2021-05-01
2021-05-08
...
2021-10-16
2021-10-23
2021-10-30
2021-11-06
2021-11-13
2021-11-20
2021-11-27
2021-12-04
2021-12-11
2021-12-18
2021-12-25

🎯 任务

在这个项目中,你将学习:

  • 如何创建一个函数来打印给定年份中的所有周六
  • 如何使用datetime模块处理日期
  • 如何遍历月份和日期以找到周六

🏆 成果

完成这个项目后,你将能够:

  • 编写一个 Python 脚本,打印给定年份中的所有周六
  • 理解如何使用datetime模块执行与日期相关的操作
  • 获得在 Python 中处理日期和时间的经验

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/ErrorandExceptionHandlingGroup(["Error and Exception Handling"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python/BasicConceptsGroup -.-> python/python_shell("Python Shell") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/arguments_return("Arguments and Return Values") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") python/ErrorandExceptionHandlingGroup -.-> python/catching_exceptions("Catching Exceptions") python/PythonStandardLibraryGroup -.-> python/date_time("Date and Time") subgraph Lab Skills python/python_shell -.-> lab-302743{{"管理一年中的特定日期"}} python/for_loops -.-> lab-302743{{"管理一年中的特定日期"}} python/function_definition -.-> lab-302743{{"管理一年中的特定日期"}} python/arguments_return -.-> lab-302743{{"管理一年中的特定日期"}} python/standard_libraries -.-> lab-302743{{"管理一年中的特定日期"}} python/catching_exceptions -.-> lab-302743{{"管理一年中的特定日期"}} python/date_time -.-> lab-302743{{"管理一年中的特定日期"}} end

在这一步中,你将创建 print_saturdays 函数,该函数将打印给定年份中的所有周六。

  1. 在文本编辑器中打开 Saturday.py 文件。
  2. 添加以下代码来定义 print_saturdays 函数:
import datetime

def print_saturdays(year):
    """
    打印给定年份中的所有周六。

    参数:
        year (int):需要打印周六的年份。

    返回:
        无
    """
    ## 遍历给定年份中的所有月份
    for month in range(1, 13):
        ## 遍历月份中的所有日期
        for day in range(1, 32):
            try:
                ## 为当前日期创建一个 datetime 对象
                date = datetime.datetime(year, month, day)

                ## 检查当前日期是否为周六
                if date.weekday() == 5:
                    print(date.strftime("%Y-%m-%d"))

            except ValueError:
                ## 如果日期对于当前月份无效,则跳过
                continue

此函数以年份作为输入,并打印该年份中的所有周六。它使用 datetime 模块为一年中的每一天创建一个 datetime 对象,然后检查该日期的星期几是否为周六(用数字 5 表示)。

  1. 保存 Saturday.py 文件。

在这一步中,你将调用 print_saturdays 函数来打印 2021 年的所有周六。

  1. Saturday.py 文件末尾添加以下代码:
## 调用 print_saturdays 函数获取 2021 年的所有周六
print_saturdays(2021)

这将以 2021 年作为参数调用 print_saturdays 函数,并打印该年份的所有周六。

  1. 保存 Saturday.py 文件。

运行脚本

在这一步中,你将运行 Saturday.py 脚本并观察输出。

  1. 打开终端或命令提示符,导航到 Saturday.py 文件所在的目录。
  2. 使用以下命令运行脚本:
python3 Saturday.py

你应该会看到类似于以下的输出:

2021-01-02
2021-01-09
2021-01-16
2021-01-23
2021-01-30
2021-02-06
2021-02-13
2021-02-20
2021-02-27
2021-03-06
2021-03-13
2021-03-20
2021-03-27
2021-04-03
2021-04-10
2021-04-17
2021-04-24
2021-05-01
2021-05-08
...
2021-10-16
2021-10-23
2021-10-30
2021-11-06
2021-11-13
2021-11-20
2021-11-27
2021-12-04
2021-12-11
2021-12-18
2021-12-25

此输出显示了 2021 年的所有周六,每行一个日期。

恭喜你!你已成功完成该项目。

✨ 查看解决方案并练习

总结

恭喜你!你已经完成了这个项目。你可以在 LabEx 中练习更多实验来提升你的技能。