Search
Write a publication
Pull to refresh
1
0
Send message

Логической ошибки нет, потому что по условию задачи гарантируется, что подаются различные клетки шахматной доски:

Ход короля также можно решить через расстояние между клетками (теорему Пифагора):

x1, y1, x2, y2 = int(input()), int(input()), int(input()), int(input())

if (x1 - x2) ** 2 + (y1 - y2) ** 2 <= 2:
    print('YES')
else:
    print('NO')

Или более продвинуто через модуль разности соответствующих координат и отсортированный список:

x1, y1, x2, y2 = int(input()), int(input()), int(input()), int(input())

if sorted([abs(x1 - x2), abs(y1 - y2)])[1] == 1:
    print('YES')
else:
    print('NO')

или через модуль разности соответствующих координат и сравнение с множеством:

x1, y1, x2, y2 = int(input()), int(input()), int(input()), int(input())

if {abs(x1 - x2), abs(y1 - y2)} <= {0, 1}:
    print('YES')
else:
    print('NO')

Хотя f-строки часто удобнее и читабельнее для простых случаев, метод format() предоставляет некоторые дополнительные возможности, такие как совместимость с более старыми версиями Python (а f-строки работают только с версии 3.6) или возможности распаковки коллекций.

Например, можно распаковывать коллекции прямо при передаче аргументов:

person = ('Alice', 'Moscow', 21)

print("My name is {}. I'm from {} and I'm {} years old.".format(*person))

# My name is Alice. I'm from Moscow and I'm 21 years old.

Или в случае со словарём:

person = {'name': 'Alice', 'city': 'Moscow', 'age': 21}

print("My name is {name}. I'm from {city} and I'm {age} years old.".format(**person))

# My name is Alice. I'm from Moscow and I'm 21 years old.

Information

Rating
Does not participate
Registered
Activity

Specialization

Specialist
Intern
From 1 ₽
Python
English