0
0 комментариев

python 3.7

Доброго времени суток. Пишу «крестики нолики» и не могу решить следующую проблему: Х или О вводится в поле путём введения координат по горизонтали и вертикали от 1 до 3. Я пытаюсь сделать проверку на корректность ввода символов, но не могу добиться правильной работы функции. В идеале она должна запрашивать координаты до тех пор, пока не получит цифры (1, 2, 3) В чём моя ошибка?

def coords():
    try:
        horizontal = int(input("Точка по горизонтали: "))
        vertical = int(input("Точка по вертикали: "))
        while horizontal != 1 or horizontal != 2 or horizontal != 3\
            and vertical != 1 or vertical != 2 or vertical != 3:
            print("Вы ввели неправильные координаты, попробуйте снова")
            try:
                horizontal = int(input("!Точка по горизонтали: "))
                vertical = int(input("!Точка по вертикали: "))
            except ValueError:
                horizontal = 0
                vertical = 0
    except ValueError:
        horizontal = 0
        vertical = 0

    else:
        while setka[horizontal - 1][vertical - 1] == "X" or setka[horizontal - 1][vertical - 1] == "O":
            print("Эта точка уже занята, выберите пустую точку")
            horizontal = int(input("Точка по горизонтали: "))
            vertical = int(input("Точка по вертикали: "))
            pass
        setka[horizontal - 1][vertical - 1] = x_or_o()
Asked question
Добавить комментарий