日历算法

时间:2019-02-22 10:43:20

标签: 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()

我被困住了,因为我真的不知道如何使用月份和年份来查找月份中的特定日期。

1 个答案:

答案 0 :(得分:2)

我不认为您应该使用库-显然,任务是提出算法而不是使用现有工具。我不会编写代码,因为这是您的任务。但是,我将尽力为您提供帮助:

  1. 尝试定义一个已知的星期一为已知日期。
  2. 定义您认为是a年的一年
  3. 定义一个月列表,该列表存储每个月中的天数
  4. 对于任何输入的月份和年份,请计算从您知道的日期到该月第一天的天数。
  5. 对第4步的结果进行模7运算,以查找每月第一天的星期几
  6. 现在从一周中给定日期的第一个出现次数中减去给定月份中的天数(但也请在此处检查leap年),并使用更多的模7算术来计算出星期几中的特定天数给定的月份。