Я пытаюсь реализовать функцию craps (), которая не принимает аргументов, имитирует одну игру в кости и возвращает 1, если игрок выиграл, и 0, если игрок проиграл.
Вот правило: игра начинается с того, что игрок бросает пару стандартных шестигранных кубиков. Если игрок бросает в общей сложности 7 или 11, игрок выигрывает. Если игрок бросает в общей сложности 2, 3 или 12, игрок проигрывает. При всех других значениях броска игрок будет несколько раз бросать пару костей, пока он либо снова не бросит начальное значение (в этом случае он выиграет), либо 7 (в этом случае он проиграет)
Вот код, который я получаю. Я продолжаю получать 0, но не могу найти, где я допустил ошибку.
def craps():
''' () -> int
Return 1 if the player won and 0 if the player lost.
>>> craps()
0
>>> craps()
1
>>> craps()
1
'''
import random
dice = random.randrange(1, 7) + random.randrange(1, 7)
if dice == 2 or dice == 3 or dice == 12:
return 0
elif dice == 7 or dice == 11:
return 1
else:
dice1 = random.randrange(1, 7) + random.randrange(1, 7)
while dice1 != dice or dice1 != 7:
dice1 = random.randrange(1, 7) + random.randrange(1, 7)
if dice1 == dice:
return 1
elif dice1 == 7:
return 0
И когда я вызываю craps (), я все время получаю 0.