Question
https://www.chegg.com/homework-help/questions-and-answers/class-workoutclass-workout-class-offered-gym-private-attributes-name-name-workoutclass-req-q44040301 write me the function to_schedule_list with the helper function in_week. make sure it pases the doc test that i provide as well. def to_schedule_list(self,
https://www.chegg.com/homework-help/questions-and-answers/class-workoutclass-workout-class-offered-gym-private-attributes-name-name-workoutclass-req-q44040301
write me the function to_schedule_list with the helper function in_week.
make sure it pases the doc test that i provide as well.
def to_schedule_list(self, week: datetime = None) \ -> list[dict[str, str | int]]: """Return a list of dictionaries for the Gym's entire schedule, with each dictionary representing a workout offered (in the format specified by the docstring for offerings_at).
The dictionaries should be in the list in ascending order by their date and time (not the string representation of the date and time). Offerings occurring at exactly the same date and time should be in alphabetical order based on their room names.
If
Hint: The helper function
>>> ac = Gym('Athletic Centre') >>> diane1 = Instructor(1, 'Diane') >>> diane1.add_certificate('Cardio 1') True >>> diane2 = Instructor(2, 'Diane') >>> david = Instructor(3, 'David') >>> david.add_certificate('Strength Training') True >>> ac.add_instructor(diane1) True >>> ac.add_instructor(diane2) True >>> ac.add_instructor(david) True >>> ac.add_room('Studio 1', 20) True >>> boot_camp = WorkoutClass('Boot Camp', ['Cardio 1']) >>> ac.add_workout_class(boot_camp) True >>> kickboxing = WorkoutClass('KickBoxing', ['Strength Training']) >>> ac.add_workout_class(kickboxing) True >>> t1 = datetime(2022, 9, 9, 12, 0) >>> ac.schedule_workout_class(t1, 'Studio 1', boot_camp.name, 1) True >>> t2 = datetime(2022, 9, 8, 13, 0) >>> ac.schedule_workout_class(t2, 'Studio 1', kickboxing.name, 3) True >>> ac.to_schedule_list() == [ ... { 'Date': 'Thursday, 2022-09-08', 'Time': '13:00', ... 'Class': 'KickBoxing', 'Room': 'Studio 1', 'Registered': 0, ... 'Available': 20, 'Instructor': 'David' }, ... { 'Date': 'Friday, 2022-09-09', 'Time': '12:00', ... 'Class': 'Boot Camp', 'Room': 'Studio 1', 'Registered': 0, ... 'Available': 20, 'Instructor': 'Diane (1)' }, ... ] True """
def in_week(date: datetime, week: datetime = None) -> bool: """Return True iff
A week is defined as the period from Monday 0:00 to Sunday 23:59. Return True if no week is provided.
Hint: You may find this helper function useful in your own code.
>>> # Note: You can create a datetime that has only year, month, day, or >>> # you can optionally specify hour, minute, etc. >>> in_week(datetime(2022, 9, 1, 12, 0), datetime(2022, 8, 31)) True >>> in_week(datetime(2022, 9, 1, 12, 0), datetime(2022, 9, 7)) False >>> in_week(datetime(2022, 9, 1, 12, 0), datetime(202, 9, 8)) False >>> in_week(datetime(2023, 1, 1), datetime(2022, 12, 31)) True >>> in_week(datetime(2023, 1, 1)) True """ if not week: return True # find the first and last day of the calendar week containing
def test_offerings_at_doctest(self) -> None: ac = Gym('Athletic Centre') diane1 = Instructor(1, 'Diane') assert diane1.add_certificate('Cardio 1') is True diane2 = Instructor(2, 'Diane') david = Instructor(3, 'David') assert david.add_certificate('Strength Training') is True assert ac.add_instructor(diane1) is True assert ac.add_instructor(diane2) is True assert ac.add_instructor(david) is True assert ac.add_room('Dance Studio', 50) is True assert ac.add_room('Room A', 20) is True boot_camp = WorkoutClass('Boot Camp', ['Cardio 1']) assert ac.add_workout_class(boot_camp) is True kickboxing = WorkoutClass('KickBoxing', ['Strength Training']) assert ac.add_workout_class(kickboxing) is True t1 = datetime(2022, 9, 9, 12, 0) assert ac.schedule_workout_class(t1, 'Dance Studio', boot_camp.name, 1) is True assert ac.schedule_workout_class(t1, 'Room A', kickboxing.name, 3) is True assert ac.offerings_at(t1) == [ {'Date': 'Friday, 2022-09-09', 'Time': '12:00', 'Class': 'Boot Camp', 'Room': 'Dance Studio', 'Registered': 0, 'Available': 50, 'Instructor': 'Diane (1)'}, {'Date': 'Friday, 2022-09-09', 'Time': '12:00', 'Class': 'KickBoxing', 'Room': 'Room A', 'Registered': 0, 'Available': 20, 'Instructor': 'David'} ]
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started