Такая тема. Хочу сделать крестики нолики на Python. Простенькие, в консоле. Пишу код и столкнулся с проблемой. В функции player_move, если игрок хочет занять уже занятое поле, должно срабатывать ветвление и, с помощью, цикла while возвращать его обратно к выбору. Но, оно не работает. Нет, оно работает, но не так, как я задумывал. Оно просто игнорирует то, что поле уже занято, поэтому его можно занять опять. Подскажите, пожалуйста, как это можно исправить. Спасибо
board = ["-", "-", "-",
"-", "-", "-",
"-", "-", "-"]
x = "X"
o = "O"
def display_board():
print(board[0] + "|" + board[1] + "|" + board[2])
print(board[3] + "|" + board[4] + "|" + board[5])
print(board[6] + "|" + board[7] + "|" + board[8])
def player_move(c):
cond = 1
while cond == 1:
position = input("Выберите поле: ")
position = int(position) - 1
print(board[position])
if board[position] != "X" or "O":
board[position] = c
cond = 0
elif board[position] == "X" or "O":
print("Повторите ещё раз")
display_board()
def play_game():
display_board()
player_move(x)
player_move(o)
player_move(x)
player_move(o)
play_game()