I have this function that calls itself: def get_input(): my_var = input('Enter "a" or "b": ') if my_var != "a" and my_var != "b": print('You didn\'t type "a" or "b". Try again.') get_input() else: return my_var print('got input:', get_input()) Now, if I input just "a" or "b", everything works fine: Type "a" or "b": a got input: a But, if I type something else and then "a" or "b", I get this: Type "a" or "b": purple You didn't type "a" or "b". Try again. Type "a" or "b": a got input: None I don't know why get_input() is returning None since it should only return my_var. Where is this None coming from and how do I fix my function? Continue reading...