2016-10-22 2 views
-1

私はこのダイスプログラムを6面ダイスを3回巻いています。 銀行で$ 500で始まり、ベットをして2から12までの数字を選んでください。最初のロールを推測したら、賭け金を2倍にしてバンクに追加します.2回目は1/2回勝ちますあなたの賭け、第3ロールあなたの賭け、そうでなければあなたの賭けは銀行から引き算されます。私はちょうど私がそんなにばかげている計算部分の助けを必要とする。Python Diceギャンブルプログラム

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

また、1番目と2番目のロールif文では、銀行の値を追加するのを忘れてしまいました。だから、私が銀行に500ドル持っていて、最高10ドルで4を推測したとしよう。あなたの現在のコードは私の銀行残高が20ドルにしかならないでしょう!これを簡単にするために、+ =と - =演算子を使用することを検討してください。 – CodeSurgeon

関連する問題