Привет всем. Я тут начал изучать Python самостоятельно путем решение всяких задач. Помогите, пожалуйста, с вот этой вот задачкой. Объясните почему в одном случае у меня получается такой ответ, в другом другой, хотя эти 2 кода практически одинаковы.
Вот сама задача :
Шахматный король ходит по горизонтали, вертикали и диагонали, но только на 1 клетку. Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести YES, если из первой клетки ходом короля можно попасть во вторую или NO в противном случае.
А вот мои 2 кода:
Правильный:
a1 = int(input())
a2 = int(input())
b1 = int(input())
b2 = int(input())
if ‘((a1 == b1) or (a1 + 1 == b1) or (a1 - 1 == b1)) and’ + \
‘((a2 == b2) or (a2 + 1 == b2) or (a2 - 1 == b2))’:
print('YES')
else:
print('NO')
Неправильный:
a1 = int(input())
a2 = int(input())
b1 = int(input())
b2 = int(input())
if ‘((a1 == b1) or (a1 + 1 == b1) or (a1 - 1 == b1)) and’ + \
‘((a2 == b2) or (a2 + 1 == b2) or (a2 - 1 == b2))’:
print('YES')
else:
print('NO')
Сразу скажу что мне нужен этот перенос строки, и вот в первом случае когда я не обособляю апострофами код, то все нормально
Когда обособляю, то код ломается
Введите в 1 программу 1, 1, 1, 8 и он выдаст ‘NO’ и это будет правильно, во 2 программу введите тоже самое и он выдаст ‘YES’ и это будет неправильно.
СУТЬ в том что я не могу разобраться когда нужно при переносе строки обособлять код апострофами, а когда не нужно, в первом случае ругается PEP8, во втором он не ругается, но код неправильный)))
Заранее извиняюсь за такой столб текста, ошибки в тексте и все остальное.
Очень хочу разобраться в этом!