title: my function isn't returning anything in python
body: <p>I made a function definition for a game I am working for in computer science class.</p>
  
  <pre><code> def bidf(bid): #this card is going to repeat until they give a valid bid
       bid=float(input("What is your bid? "))
       if bid&gt;pot:
           print("Invalid bid: You can't bid more than what is in the pot")
           bidf()
       elif bid&gt;value:
           print("Invalid bid: You don't have that much")
           bidf()
       elif bid&lt;0:
           print("You can not bid negative money")
           bidf()
       else:
           return float(bid)
  </code></pre>
  
  <p>and everytime I try to use the bid variable it doesn't work
  For instance this code is where it always crashes</p>
  
  <pre><code>if g=="y":
        bidf()
        if card(insidecard[0])==card(outsidecard[0]):
             z=input("Will the next card be higher or lower than the pair?(h/l): ")
             if card(insidecard[0])==14 and card(hand[0])==14:
                  print("You quadruple your bid and lose $",bid)
                  bid=bid*4
                  value=value-bid
                  pot=pot+bid
  </code></pre>
  
  <p>What I am trying to do is get bid to show up in the print statement, and the bid to be used to do math to other variables.</p>