Login and get codingAnother real world use case. When we added notifications to our learning paths, we gave the user the option to receive x number of Bites every y number of days. Based on these two input parameters, code up the
gen_bite_planning
generator that returnsdate
objects for the notifications.With the default set to notify one Bite a day, the script using your
gen_bite_planning
generator would output the following:>>> from datetime import date >>> from notifications import gen_bite_planning >>> today = date.today() >>> today datetime.date(2019, 8, 25) >>> gen = gen_bite_planning(num_bites=1, num_days=1, start_date=today) >>> for _ in range(10): ... next(gen) ... datetime.date(2019, 8, 26) datetime.date(2019, 8, 27) datetime.date(2019, 8, 28) datetime.date(2019, 8, 29) datetime.date(2019, 8, 30) datetime.date(2019, 8, 31) datetime.date(2019, 9, 1) datetime.date(2019, 9, 2) datetime.date(2019, 9, 3) datetime.date(2019, 9, 4)If the user decides to do 2 Bites every 3 days, the generator would output the following:
>>> gen = gen_bite_planning(num_bites=2, num_days=3, start_date=today) >>> for _ in range(10): ... next(gen) ... datetime.date(2019, 8, 28) datetime.date(2019, 8, 28) datetime.date(2019, 8, 31) datetime.date(2019, 8, 31) datetime.date(2019, 9, 3) datetime.date(2019, 9, 3) datetime.date(2019, 9, 6) datetime.date(2019, 9, 6) datetime.date(2019, 9, 9) datetime.date(2019, 9, 9)And a Bite every other day would return this:
>>> gen = gen_bite_planning(num_bites=1, num_days=2, start_date=today) >>> for _ in range(10): ... next(gen) ... datetime.date(2019, 8, 27) datetime.date(2019, 8, 29) datetime.date(2019, 8, 31) datetime.date(2019, 9, 2) datetime.date(2019, 9, 4) datetime.date(2019, 9, 6) datetime.date(2019, 9, 8) datetime.date(2019, 9, 10) datetime.date(2019, 9, 12) datetime.date(2019, 9, 14)Good luck and keep calm and code in Python
Will you be the 111th person to crack this Bite?
Resolution time: ~36 min. (avg. submissions of 5-240 min.)
Our community rates this Bite 3.17 on a 1-10 difficulty scale.
» You can do it! 😌