Я написал следующий питон скрипт, чтобы реализовать мою версию игры NIMs/камниPython Loop Script
def nims_stones(pile, max_stones):
while pile != 0:
move = 0
while move < 1 or move > max_stones:
move = int(raw_input("Player 1 How Many Stones"))
pile -= move
if pile == 0:
print "Player 1 wins"
else:
print "There are %s stones left." %(pile)
move = 0
while move < 1 or move > max_stones:
move = int(raw_input("Player 2 How Many Stones"))
pile -= move
if pile == 0:
print "Player 2 wins"
else:
print "There are %s stones left." %(pile)
print "Game Over"
Когда я вызываю функцию nims_stones (10,5) Это похоже на работу, но после первого игрока или игрока два выигрыша, он не выходит из цикла, он не печатает «Game Over», он просто просит следующего перемещения
Не знаю, почему он не выходит из цикла после победы игрока. Любая помощь будет оценена.
Я не знаю, для игрока 2, но после того, как печатный игрок выиграл 1, вы продолжаете менять 'pile'. Просто «ломайте», когда побеждает любой из игроков, и делайте свое условие «while True». Это будет намного яснее. –
Я пробовал, чтобы он не работал, он просто перескакивает в Game Over – user2919794