I have the following exercise:
The parameter weekday is True if it is
a weekday, and the parameter vacation
is True if we are on vacation. We
sleep in if it is not a weekday or
we’re on vacation. Return True if we
sleep in.
Here’s what I’ve done, but the second print function only prints 'None'.
def sleep_in(weekday, vacation):
if(not weekday or vacation):
return True
print(sleep_in(False, False))
print(sleep_in(True, False))
print(sleep_in(False, True))
Output:
True
None
True
Functions in python return
Noneunless explicitly instructed to do otherwise.In your function above, you don’t take into account the case in which weekday is
True. The interpreter reaches the end of the function without reading a return statement (since the condition predecing yours evaluates toFalse), and returnsNone.Edit:
There you go =)