Question: I am getting an error and I do not know how to solve it . Here is the error: The call sunset ( datetime .

I am getting an error and I do not know how to solve it. Here is the error:
The call sunset(datetime.date(2017,8,2),daycycle) returns datetime.datetime(2024,2,7,5,0), not datetime.datetime(2017,8,2,19,24).
Here is the question and code:
def sunset(date,daycycle):
"""
Returns the sunset datetime (day and time) for the given date
This function looks up the sunset from the given daycycle dictionary. If the
daycycle dictionary is missing the necessary information, this function
returns the value None.
A daycycle dictionary has keys for several years (as int). The value for each year
is also a dictionary, taking strings of the form 'mm-dd'. The value for that key
is a THIRD dictionary, with two keys "sunrise" and "sunset". The value for each of
those two keys is a string in 24-hour time format.
For example, here is what part of a daycycle dictionary might look like:
"2015": {
"01-01": {
"sunrise": "07:35",
"sunset": "16:44"
},
"01-02": {
"sunrise": "07:36",
"sunset": "16:45"
},
...
}
Parameter date: The date to check
Precondition: date is a date object
Parameter daycycle: The daycycle dictionary
Precondition: daycycle is a valid daycycle dictionary, as described above
"""
year = date.year
month = date.month
day = date.day
str_date = date.strftime('%m-%d')
if str(year) not in daycycle:
return None
t = daycycle[str(year)][str_date]['sunrise']
return str_to_time(t)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!