def chess(x, y):
m1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'] #задаём оси
m2 = [1, 2, 3, 4, 5, 6, 7, 8]
x1 = tuple(x)
y1 = tuple(y)
if len(x1) == 2 and len(y1) == 2: #двузначная ли координата была введена
if (x1[0] in m1 and x1[1] in m2) and (y1[0] in m1 and y1[1] in m2): #элементы координаты есть в диапазоне осей?
if (abs(ord(y1[0])-ord(x1[0])) == 1 and abs(y1[1]-x1[1]) == 2) or (abs(ord(y1[0])-ord(x1[0])) == 2 and abs(y1[1]-x1[1]) == 1):
return True
else:
print('Неверные координаты! Введите правильные данные!')
else:
print('Неверные координаты! Введите правильные данные!')
else:
print('Неверные координаты! Введите правильные данные!')
x = input('Введите начальную координату ')
y = input('Введите конечную координату ')
print(chess(x, y))
ZGVmIGNoZXNzKHgsIHkpOgogICAgbTEgPSBbJ2EnLCAnYicsICdjJywgJ2QnLCAnZScsICdmJywgJ2cnLCAnaCddICAgI9C30LDQtNCw0ZHQvCDQvtGB0LgKICAgIG0yID0gWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDhdCiAgICB4MSA9IHR1cGxlKHgpCiAgICB5MSA9IHR1cGxlKHkpCiAgICBpZiBsZW4oeDEpID09IDIgYW5kIGxlbih5MSkgPT0gMjogICAgICAgI9C00LLRg9C30L3QsNGH0L3QsNGPINC70Lgg0LrQvtC+0YDQtNC40L3QsNGC0LAg0LHRi9C70LAg0LLQstC10LTQtdC90LAKICAgICAgICBpZiAoeDFbMF0gaW4gbTEgYW5kIHgxWzFdIGluIG0yKSBhbmQgKHkxWzBdIGluIG0xIGFuZCB5MVsxXSBpbiBtMik6ICAgICAgICPRjdC70LXQvNC10L3RgtGLINC60L7QvtGA0LTQuNC90LDRgtGLINC10YHRgtGMINCyINC00LjQsNC/0LDQt9C+0L3QtSDQvtGB0LXQuT8KICAgICAgICAgICAgaWYgKGFicyhvcmQoeTFbMF0pLW9yZCh4MVswXSkpID09IDEgYW5kIGFicyh5MVsxXS14MVsxXSkgPT0gMikgb3IgKGFicyhvcmQoeTFbMF0pLW9yZCh4MVswXSkpID09IDIgYW5kIGFicyh5MVsxXS14MVsxXSkgPT0gMSk6CiAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgcHJpbnQoJ9Cd0LXQstC10YDQvdGL0LUg0LrQvtC+0YDQtNC40L3QsNGC0YshINCS0LLQtdC00LjRgtC1INC/0YDQsNCy0LjQu9GM0L3Ri9C1INC00LDQvdC90YvQtSEnKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHByaW50KCfQndC10LLQtdGA0L3Ri9C1INC60L7QvtGA0LTQuNC90LDRgtGLISDQktCy0LXQtNC40YLQtSDQv9GA0LDQstC40LvRjNC90YvQtSDQtNCw0L3QvdGL0LUhJykKICAgIGVsc2U6CiAgICAgICAgcHJpbnQoJ9Cd0LXQstC10YDQvdGL0LUg0LrQvtC+0YDQtNC40L3QsNGC0YshINCS0LLQtdC00LjRgtC1INC/0YDQsNCy0LjQu9GM0L3Ri9C1INC00LDQvdC90YvQtSEnKQoKeCA9IGlucHV0KCfQktCy0LXQtNC40YLQtSDQvdCw0YfQsNC70YzQvdGD0Y4g0LrQvtC+0YDQtNC40L3QsNGC0YMgJykKeSA9IGlucHV0KCfQktCy0LXQtNC40YLQtSDQutC+0L3QtdGH0L3Rg9GOINC60L7QvtGA0LTQuNC90LDRgtGDICcpCnByaW50KGNoZXNzKHgsIHkpKQ==