对于较早的日期(例如1776年),星期几会出错

时间:2019-04-04 16:25:32

标签: python methods

注意:这是一门CS入门课程,到目前为止,我们不应该使用python的任何预制方法,所以...

将以下方法添加到Date类:

dayOfWeek(自己):

此方法应返回一个字符串,该字符串指示调用它的对象(日期类型)的星期几(dayOfWeek)。也就是说,此方法返回以下字符串之一:“星期一”,“星期二”,“星期三”,“星期四”,“星期五”,“星期六”或“星期天”。

提示:从已知日期(例如2015年11月3日,星期二)查找差异有什么帮助? mod(%)运算符可能有什么帮助?

我已经成功地完成了Date类中的所有其他必要方法,但是在更早的日子里(即在1700年代)我一直收到错误消息-如果需要的话,我也可以提供整个类的代码

days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Sunday']
        rDate = Date(11,3,2015)     #reference date - Tuesday
        i = 2                       #index for 'Tuesday'

        if self.diff(rDate) % 7 == 0:
            i = 2
        elif self.diff(rDate) % 7 == 1:
            i = 3
        elif self.diff(rDate) % 7 == 2:
            i = 4
        elif self.diff(rDate) % 7 == 3:
            i = 5
        elif self.diff(rDate) % 7 == 4:
            i = 6
        elif self.diff(rDate) % 7 == 5:
            i = 0
        else:
            i = 1
        return days[i]

这些是提供给我们的测试用例,我遇到以下问题:

>>> date = Date(6, 21, 1788)
>>> date.dayOfWeek()
'Saturday' 
>>> # I keep getting 'Sunday'

>>> date = Date(7,4,1776)
>>> date.dayOfWeek()
'Thursday'
>>> # I keep getting 'Tuesday'

0 个答案:

没有答案