ex exxam.ruPython с нуляШаг 10.7 · Проект «Крестики-нолики»
58 / 62На главную
шаг 10.7 · проект

Полная игра

Соединяем всё: игроки вводят координаты, доска обновляется, а цикл останавливается на победе.

Осталось собрать игру целиком. Функции format_board и check_winner уже готовы, как и начальные значения: player = "X" и пустой winner.

В цикле на девять ходов игрок вводит координаты, ставит свой символ, доска печатается, а потом проверяется победа. Если победитель найден — break останавливает игру. Если нет — ход переходит другому игроку.

if winner: break if player == "X": player = "O" else: player = "X"

Если цикл закончился без победителя, все девять клеток заняты — это ничья. Поэтому после цикла достаточно проверить winner.

  1. Внутри цикла прочитай строку и столбец, сделай ход и напечатай доску.
  2. Сохрани результат check_winner(board) в winner и выйди из цикла, если он не пустой.
  3. Иначе поменяй игрока: X на O и наоборот.
  4. Нажми «Проверить»: проверка сыграет партию, где побеждают крестики.
«Проверить» подставит ходы 1 1, 2 1, 1 2, 2 2, 1 3. «Выполнить» позволит сыграть самому.

Отлично! Игра работает: крестики собрали верхнюю строку, а цикл остановился сразу после победы. Проект «Крестики-нолики» готов.

Требования

Допиши тело цикла: ввод координат, ход, печать доски, проверка победителя, break при победе и смена игрока. Вывод — доска после каждого из пяти ходов и строка Победил X!.

Проверка

Проверка запускает программу с чистого листа и вводит десять чисел: пять пар координат. Крестики выигрывают верхнюю строку, после чего игра должна остановиться. Затем сверяются все строки вывода и итоговая доска.

Подсказки Открываются по одной
живая сессия
Консоль общая сессия
Python 3.14 · переменные сохраняются между командами
>>>
Готовлю консоль…
консоль Живая сессия Python