Хотя 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.
Логической ошибки нет, потому что по условию задачи гарантируется, что подаются различные клетки шахматной доски:
Ход короля также можно решить через расстояние между клетками (теорему Пифагора):
Или более продвинуто через модуль разности соответствующих координат и отсортированный список:
или через модуль разности соответствующих координат и сравнение с множеством:
Хотя 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.