Игра «Последнюю не брать!». Python
def display_balls(balls):
return " ".join(["-О-"] * balls)
def play_game():
balls = 21 # Начальное количество "шариков"
print("Добро пожаловать в игру '21 шарик'!")
print("Правила: вы можете взять 1 или 2 шарика за ход. Проигрывает тот, кто заберет последний шарик.")
while True:
if balls == 1:
print(f"Остался последний шарик и значит вы проиграли игру. {display_balls(balls)}")
break
print(f"Осталось {display_balls(balls)}")
player_choice = input("Возьмите 1 или 2 шарика: ")
if player_choice not in ("1", "2"):
print("Пожалуйста, выберите 1 или 2 шарика.")
continue
player_choice = int(player_choice)
if player_choice >= balls:
print("Вы не можете взять столько шариков. Пожалуйста, выберите 1 или 2.")
continue
balls -= player_choice
if balls == 0:
print(f"Вы забрали последний шарик и проиграли игру. {display_balls(balls)}")
break
# Компьютер выбирает оптимальное количество шариков
computer_choice = (balls - 1) % 3
if computer_choice == 0:
computer_choice = 1
print(f"Компьютер взял {computer_choice} шарика(ов). {display_balls(balls)}")
balls -= computer_choice
if balls == 0:
print(f"Компьютер забрал последний шарик и вы выиграли игру. {display_balls(balls)}")
break
if __name__ == "__main__":
play_game()