задача "ход слона"

Даны две различные клетки шахматной доски, определите, может ли слон попасть с первой клетки на вторую одним ходом. Программа должна вывести YES, если из первой клетки ходом слона можно попасть во вторую, или NO в противном случае. использовать можно только оператор if

мой код:

1x=(int(input())
1y=(int(input())
2x=(int(input())
2y=(int(input())
if (1x==2x)or(1y==2y):
    print("NO")
else:  
    print("YES")

выдаёт ошибку


Ответы (3 шт):

Автор решения: Oopss

По картинке ниже вы сразу поймете, как ходит слон в шахматах. введите сюда описание изображения

Как можно заметить, перемещается эта боевая единица по диагонали вперед и назад на любую возможную дистанцию. Определяем, может ли слон попасть с первой клетки на вторую одним ходом. для этого пишем:

# Ввод полей, сейчас слон на поле e4
m1=input('Введите первое поле например a1 ')
m2=input('Введите второе поле например c3 ')

# chess_board - это буквы внизу шахматной доски
chess_board= 'abcdefgh'

# Определяем на сколько слон переместился по горизонтали
move=(chess_board.index(m1[0]) - chess_board.index(m2[0]))

# Проверяем соответствует ли это перемещению по вертикали 
if int(m1[1])+move == int(m2[1]) or int(m1[1])-move == int(m2[1]):
    print('TRUE')
else:
    print('FALSE')

Давайте протестируем, я не все клетки проверил.

→ Ссылка
Автор решения: passant

Реальное решение - в одну строку (оператор if). Остальное - только ввод, вывод и отладка.

p1=input('Введите первое поле ')
p2=input('Введите второе поле ')
if abs('abcdefgh'.index(p1[0]) - 'abcdefgh'.index(p2[0])) == abs(int(p1[1])-(int(p2[1])))  :
    print('TRUE')
else:
    print('FALSE')
→ Ссылка
Автор решения: user613766
x_1, y_1, x_2, y_2 = (int(input('column number: ')), int(input('line number: ')), 
                      int(input('column number: ')), int(input('line number: ')))
if 1 <= x_1 <= 8 and 1 <= x_2 <= 8 and 1 <= y_1 <= 8 and 1 <= y_2 <= 8:
    if abs(x_2 - x_1) == abs(y_2 - y_1):
        print('Yes')
    else:
        print('No')
else:
    print('The number must be between 1 and 8')
→ Ссылка