python - 日历算法
问题描述
我正在为我的班级做任务。我有一个需要显示特定月份的星期几(星期一、星期二、星期三、星期四等)的地方。例如:2017 年 3 月有 4 个星期一、4 个星期二、5 个星期三、5 日、5 个星期五、4 个星期六、4 个星期日。
到目前为止,我...
class Calendar():
def __init__(self, month, year):
self.month = month
self.year = year
if month < 1 or month > 12:
print("Error 404 month not found")
def show(self):
print(Calendar) ##Just test
test1 = Calendar(0, 2017)
test1.show()
我被困住了,因为我真的不知道如何使用月份和年份找到月份中的特定日期。
解决方案
我认为您不应该使用库 - 显然任务是提出算法而不是使用现有工具。我不会写代码,因为这是你的任务。但我会尝试帮助解决方法:
- 尝试定义一个您知道是星期一的已知日期。
- 定义一个你知道是闰年的年份
- 定义一个月份列表,用于存储每个月的天数
- 对于任何输入的月份和年份,计算从您知道日期到该月第一天的天数。
- 对第 4 步的结果使用模 7 运算来查找该月第一天的星期几
- 现在从一周中给定日期的第一次出现中减去给定月份的天数(但也可以在此处检查闰年),并使用更多的模 7 算术来找出给定月份中一周中特定天数.
推荐阅读
- ios - 在不限制符合协议的内容的情况下快速避免保留周期
- dart - Dart BrowserClient 突然停止工作
- java - 在一定的时间间隔内执行java程序
- c# - 无法将派生类分配给其父泛型接口
- css - ReactJS CSS backgroundImage在滚动调整窗口大小时在底部创建空白
- python - Python Flask 应用程序处理 web 并使用 websockets 与另一个应用程序通信
- python - 在函数中传递名称并将其用作 Pandas 列中的值
- c# - AuthenticationFailedContext.Success() 在处理 JwtBearerEvents.OnAuthenticationFailed 时没有效果
- php - “使用 Laravel 调用未定义的方法 Illuminate\\Database\\Query\\Builder::users()
- node.js - Node js在单个项目下创建Dialogflow代理