2016-10-22 207 views
-1

我有这个骰子程序,滚动一对6双面模具3次。 你在银行开始500美元,并被要求下注并选择一个2到12之间的数字。如果你猜第一个掷骰子,你加倍你的投注并将它加到银行,第二掷骰你赢1次1次您的投注,第三轮赢得您的投注,否则您的投注将从银行中扣除。我只需要计算部分的帮助,我觉得很愚蠢。Python骰子赌博程序

def main(): 
    bank = 500 
    while bank > 0: 
     print("You have $",bank,"in your account.") 
     bet = int(input("Enter your bet =>")) 
     guess = int(input("Choose a number between 2 and 12: ")) 
     print("Your guess is",guess) 

     roll = 1 
     rolls = [] 
     while roll < 4: 
      dice_pair = random.randint(1, 6) + random.randint(1, 6) 
      rolls.append(dice_pair) 
      print("Roll #",roll, "was",dice_pair) 
      if dice_pair == rolls[0]: 
       bank = bet * 2 
      elif dice_pair == rolls[1]: 
       bank = bet * 1.5 
      elif dice_pair == rolls[2]: 
       bank = bank + bet 
      else: 
       bank= bank - bet 
      roll += 1 

回答

1

有滚动列表和做喜欢dice_pair == rolls[0]比较是没有意义的:这总是要真正在第一次循环。您应该检查dice_pair == guess,根据当前值roll调整银行,如果猜测正确(对该规则不太确定),则可能会结束循环。

+0

此外,对于第一次和第二次滚动if语句,您忘记了添加银行的值。所以,假设我在银行里有500美元,我最好是10美元,猜测是4美元,而且我恰好在第一卷上得到了正确的结果。您目前的代码将导致我的银行余额仅为20美元!您可能想要考虑使用+ =和 - =运算符来使这更容易。 – CodeSurgeon