Python

Пожалуйста помогите решить задачу решение желательно! P.S (всё это выполняется в саблайм текст)

1.Король ходит по горизонтали, вертикали и диагонали, но только на одну клетку. Даны две различные клетки шахматной доски, определите, может ли ладья попасть с первой клетки на вторую одним ходом.
2.Шахматный слон ходит по диагонали. Даны две различные клетки шахматной доски, определите, может ли ладья попасть с первой клетки на вторую одним ходом. Даны две различные клетки шахматной доски, определите, может ли ладья попасть с первой клетки на вторую одним ходом.
3.Шахматный ферзь ходит по горизонтали, вертикали и диагонали. Даны две различные клетки шахматной доски, определите, может ли ладья попасть с первой клетки на вторую одним ходом.
4.Шахматный конь ходи буквой "Г"- на две клетки по вертикали в любом направлении и на одну клетку по горизонтали, или наоборот. Даны две различные клетки шахматной доски, определите, может ли конь попасть с первой клетки на вторую одним ходом.
Входные данные
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки.
Выходные данные
Программа должна вывести YES, если из первой клетки ходом ладьи можно попасть во вторую или NO в противном случае.
Sahismail Yilmaz
Sahismail Yilmaz
195
для ладьи
x1 = int(input())
y1 = int(input())
x2 = int(input())
y2 = int(input())

if x1 == x2 or y1 == y2:
print('YES')
else:
print('NO')
Для короля
if abs(x1 - x2) <= 1 and abs(y1 - y2) <= 1:
print('YES')
else:
print('NO')
СЛУН
if abs(x1 - x2) == abs(y1 - y2):
print('YES')
else:
print('NO')
ДЛЯ ФЕРЗЯ
if x1 == x2 or y1 == y2 or abs(x1 - x2) == abs(y1 - y2):
print('YES')
else:
print('NO')
Для коня
x1 = int(input())
y1 = int(input())
x2 = int(input())
y2 = int(input())

rx = abs(x1 - x2)
ry = abs(y1 - y2)

if (rx == 1 and ry == 2) or (rx == 2 and ry == 1):
print('YES')
else:
print('NO')
Марат Хасенов
Марат Хасенов
2 012
Лучший ответ
Марат Хасенов Разумеется это не всегда полные ответы - скорее логика решения.
Марат Хасенов Кстати там ошибка в условиях нескольких задач "ладья" вставлена автовставкой - в первой второй и третьих задачах.
Sahismail Yilmaz огромное спасибо
Sahismail Yilmaz Что такое abs и ry
конь:
a=int(input())
b=int(input())
c=int(input())
d=int(input())
if a+1==c and b+2==d or a-1==c and b+2==d or a+1==c and b-2==d or a-1==c and b-2==d or a+2==c and b+1==d or a-2==c and b+1==d or a+2==c and b-1==d or a-2==c and b-1==d :
print('YES')
else:
print('NO')

ферзь:

a=int(input())
b=int(input())
c=int(input())
d=int(input())
if a+1==c and b+1==d or a+2==c and b+2==d or a+3==c and b+3==d or a+4==c and b+4==d or a+5==c and b+5==d or a+6==c and b+6==d or a+7==c and b+7==d or a+8==c and b+8==d:
print('YES')
else:
if a-1==c and b+1==d or a-2==c and b+2==d or a-3==c and b+3==d or a-4==c and b+4==d or a-5==c and b+5==d or a-6==c and b+6==d or a-7==c and b+7==d or a-8==c and b+8==d:
print('YES')
else:
if a+1==c and b-1==d or a+2==c and b-2==d or a+3==c and b-3==d or a+4==c and b-4==d or a+5==c and b-5==d or a+6==c and b-6==d or a+7==c and b-7==d or a+8==c and b-8==d:
print('YES')
else:
if a-1==c and b-1==d or a-2==c and b-2==d or a-3==c and b-3==d or a-4==c and b-4==d or a-5==c and b-5==d or a-6==c and b-6==d or a-7==c and b-7==d or a-8==c and b-8==d:
print('YES')
else:
if a == c and b != d or a != c and b == d :
print('YES')
else:
print('NO')

король:
d= int(input())
a= int(input())
b= int(input())
c= int(input())
if d+1==b and a==c or d-1==b and a==c or d+1==b and a+1==c or d+1==b and a-1==c or d-1==b and a+1==c or d-1==b and a-1==c or d==b and a+1==c or d==b and a-1==c:
print('YES')
else:
print('NO')

ладья:
ti= int(input())
i= int(input())
net= int(input())
N= int(input())
if ti == net and i != N or ti != net and i == N :
print('YES')
else:
print('NO')
Для короля
a = int(input())
b = int(input())
c = int(input())
d = int(input())

if a - c <= 1 and a - c >= -1 and b - d <= 1 and b - d >= -1:
print('YES')
else:
print('NO')
Саблайм это IDE ващета... так что пока что у меня для тебя только плохие новости...
Power @@@@@ У меня для тебя тоже плохие новости... -т. к. Sublime Text это - кроссплатформенный проприетарный текстовый редактор, а не IDE.
Для короля без abs

w = int(input())
x = int(input())
y = int(input())
z = int(input())
if -1 <= y - w <= 1 and -1 <= z - x <= 1:
print('YES')
else:
print('NO')