Testing, testing. testing. That is what one needs to do when writing code. So I strongly advise to temporarily add a line to your code so you can see the result. Not needed to run the full assertion test every time, too much output. It will confuse you. Add this line so you can run your code:
)
Second:
Fourth:
Fifth:
print(get_workout_motd("monday"))
Output:Not a valid day
(??? We expected: "Go train Chest+biceps". Well that is for you to find out. 
Second:
if x in ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'):??? Surely you mean:
if cap_day in ('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'):Third:
TRAIN = 'Go train {}'Because of the curly braces I guess you wanted to do something with str.format(). Like this:
>>> TRAIN = 'Go train {}' >>> print(TRAIN.format("Biceps")) Go train BicepsBut why make it so difficult? You can also do:
>>> TRAIN = 'Go train ' #mind the extra space at the end >>> print(TRAIN + "Biceps") Go train BicepsIt is your choice.
Fourth:
x = WORKOUT_SCHEDULE.get(cap_day)Well found, I did not even know it was possible. But for me the nice thing about dictionaries is that you can get the values by index (between square brackets). Like this:
x = WORKOUT_SCHEDULE[cap_day]This should be the preferred method to retrieve values from a dictionary.
Fifth:
return (TRAIN, 'Go train {}')No, that is not the way. Now you return two values. A tuple. But the assignment says you must return a string. One string. You can do that like this:
return TRAIN + x