我的函数没有在python中返回任何内容

时间:2013-03-04 02:46:43

标签: python function if-statement printing nested

我为我在计算机科学课上工作的游戏制作了一个函数定义。

 def bidf(bid): #this card is going to repeat until they give a valid bid
     bid=float(input("What is your bid? "))
     if bid>pot:
         print("Invalid bid: You can't bid more than what is in the pot")
         bidf()
     elif bid>value:
         print("Invalid bid: You don't have that much")
         bidf()
     elif bid<0:
         print("You can not bid negative money")
         bidf()
     else:
         return float(bid)

每当我尝试使用出价变量时,它都不起作用 例如,此代码始终崩溃

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

我要做的是让出价显示在print语句中,以及用于对其他变量进行数学运算的出价。

2 个答案:

答案 0 :(得分:3)

bidf()的所有来电替换为return bidf()

答案 1 :(得分:0)

在代码中调用bidf()时,需要存储返回值。所以做一些像:

if g=="y":
    bid = bidf()