I'm working on a simple program that allows the user to bet some virtual currency on a coin toss. Everything works fine, except for when the user inputs something incorrectly.  

 For example: if a question asks for y/n response and the user puts 'd' or something as the response, the program will use the except ValueError and rerun the function. However, when the function is rerun and the user finally inputs something correctly, it will result in a further error.

```
Error: 

> AttributeError: 'NoneType' object has no attribute 'lower'

```

Code:

```
import time
import random

money = 5000
last_interest_time = time.time()

def interest():
    global money, last_interest_time
    if time.time() - last_interest_time > 5:
        prev_money = money
        money *= 0.1
        last_interest_time = time.time()
        print("You now have " + str(money) + " monies (+" + str(money - prev_money) + ") from interest")

def game():
    global money, last_interest_time
    print("You have " + str(money) + " monies.")
    choice = get_choice("Want to bet on a coin toss?", 'y','n')
    if choice.lower() == 'y':
        print("That's great!")
        choice = get_choice("What side do you want to bet on?", 'h', 't')
        bet_amount = get_bet()
        print('Flipping the coin...')
        time.sleep(1)
        side = random.choice(['h', 't'])
        if side == 'h':
            print("The coin landed heads!")
        elif side == 't':
            print('The coin landed tails!')
        if side == choice:
            print("You won and received " + str(bet_amount) + " monies!")
            money += bet_amount
        else:
            print("You lost the bet and " + str(bet_amount) + " monies!")
            money -= bet_amount
        game()
    elif choice.lower() == 'n':
        input('Oh well. Just type something if you want to bet again. ')
        game()

def get_choice(question, response_1, response_2):
    choice = input(question+" ("+response_1+'/'+response_2+'): ')
    if choice != response_1 and choice != response_2:
        print('Input is invalid. Must be '+response_1+'/'+response_2)
        get_choice(question, response_1, response_2)
    else:
        return choice

def get_bet():
    bet_amount = input("What amount do you want to bet?: ")
    try:
        if int(bet_amount) > money:
            print("You don't have enough money!")
            get_bet()
        else:
            return int(bet_amount)
    except ValueError:
        print('Invalid input. Must be a number')
        get_bet()

game()

```