Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Read the specification of the function daytime in the module funcs. Implement this function according to its specification.This function is very similar to sunset from

Read the specification of the function daytime in the module funcs. Implement this function according to its specification.This function is very similar to sunset from the previous exercise, except that it now asks you to determine whether a datetime object is between sunrise and sunset (e.g. happened during the day). That means you will need to extract both the sunrise and sunset this time and compare them to given time value. Note that the time value may or may not have a time zone attached to it. If it has a time zone attached, you must give both sunrise and sunset a time zone in order to be able to compare them. The time zone is stored in the daycycle dictionary using the key timezone (that value is a string). If time does not have a time zone, you can assume it has the same time zone as sunrise and sunset.

def daytime(time,daycycle): """ Returns true if the time takes place during the day. A time is during the day if it is after sunrise but before sunset, as indicated by the daycycle dicitionary. 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" }, ... } In addition, the daycycle dictionary has a key 'timezone' that expresses the timezone as a string. This function uses that timezone when constructing datetime objects from this set. If the time parameter does not have a timezone, we assume that it is in the same timezone as the daycycle dictionary Parameter time: The time to check Precondition: time is a datetime object Parameter daycycle: The daycycle dictionary Precondition: daycycle is a valid daycycle dictionary, as described above """ # HINT: Use the code from the previous exercise to get sunset AND sunrise # Add a timezone to time if one is missing (the one from the daycycle)

Below is the previous code used which is mentioned in the hint

def sunset(date,daycycle):

year=date.year month=date.month day=date.day str1=date.strftime('%m-%d') if str(year) not in daycycle: return None t=daycycle[str(year)][str1]['sunset'] r=str_to_time(t) return datetime.datetime(year,month,day,r.hour,r.minute)

Below is the abstract of daycycle.json file attached, apart from this there is no other data provided regarding timezone:

{ "city": "Ithaca", "state": "New York", "latitude": "076-29W", "longitude": "42-26N", "timezone": "America/New_York", "2015": { "01-01": { "sunrise": "07:35", "sunset": "16:44" }, "01-02": { "sunrise": "07:36", "sunset": "16:45" }, "01-03": { "sunrise": "07:36", "sunset": "16:45" }, }

"2018": { "01-01": { "sunrise": "07:35", "sunset": "16:44" }, "01-02": { "sunrise": "07:36", "sunset": "16:45" }, "01-03": { "sunrise": "07:36", "sunset": "16:46" },

} }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Design Application Development And Administration

Authors: Mannino Michael

5th Edition

0983332401, 978-0983332404

More Books

Students also viewed these Databases questions