2016-10-22 3 views
-1

6 면체 주사위를 3 번 ​​굴리는 주사위 프로그램이 있습니다. 은행에서 500 달러부터 시작하여 내기를하고 2 ~ 12 사이의 숫자를 선택하십시오. 첫 번째 롤을 추측하면 내기를 두 배로하고 은행에 추가합니다. 두 번째 롤은 1/1/2 귀하의 베팅, 3 번째 롤은 베팅에서 이기고, 그렇지 않으면 베팅이 은행에서 제외됩니다. 나는 그저 바보 같다고 계산 부분에 도움이 필요하다.파이썬 주사위 도박 프로그램

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