Поле шахматной доски определяется парой натуральных чисел (номер
вертикали – номер горизонтали) из диапазона 1-8. На поле (k, l)
расположен: конь. Угрожает ли он полю (m, n)?
что подредактировать или вовсе убрать
k = int(input("Введите k, k не должна быть меньше 1 и не должна быть больше 8 ")) #расположение коня по вертикали
k<9 and k>0
l = int(input("Введите l, l не должна быть меньше 1 и не должна быть больше 8 " )) #расположение коня по горизонтали
l<9 and l>0
print(k,l,"положение коня")
m = int(input("Введите m, m не должна быть меньше 1 и не должна быть больше 8 " )) #ветрикаль поля проверки
m<9 and m>0
n = int(input("Введите n, n не должна быть меньше 1 и не должна быть больше 8 " )) #горизанталь поля проверки
n<9 and n>0
if (k+2 == m) and (l+1 == n):
print("конь угражает полю m,n")
elif (k+2 == m) and (l+1 != n):
print("конь не угражает полю m,n")
elif (k+2 != m) and (l+1 == n):
print("конь не угражает полю m,n")
elif (k+2 != m) and (l+1 != n):
print("конь не угражает полю m,n")
elif (k+2 == m) and (l-1 == n):
print("конь угражает полю m,n")
elif (k+2 == m) and (l-1 != n):
print("конь не угражает полю m,n")
elif (k+2 != m) and (l-1 == n):
print("конь не угражает полю m,n")
else (k+2 != m) and (l-1 != n):
print("конь не угражает полю m,n")
if (k-2 == m) and (l-1 == n):
print("конь угражает полю m,n")
elif (k-2 == m) and (l-1 != n):
print("конь не угражает полю m,n")
elif (k-2 != m) and (l-1 == n):
print("конь не угражает полю m,n")
else (k-2 != m) and (l-1 != n):
print("конь не угражает полю m,n")
if (k-2 == m) and (l+1 == n):
print("конь угражает полю m,n")
elif (k-2 == m) and (l+1 != n):
print("конь не угражает полю m,n")
elif (k-2 != m) and (l+1 == n):
print("конь не угражает полю m,n")
else (k-2 != m) and (l+1 != n):
print("конь не угражает полю m,n")
if (k-1 == m) and (l-2 == n):
print("конь угражает полю m,n")
elif (k-1 == m) and (l-2 != n):
print("конь не угражает полю m,n")
elif (k-1 != m) and (l-2 == n):
print("конь не угражает полю m,n")
else (k-1 != m) and (l-2 != n):
print("конь не угражает полю m,n")
if (k+1 == m) and (l-2 == n):
print("конь угражает полю m,n")
elif (k+1 == m) and (l-2 != n):
print("конь не угражает полю m,n")
elif (k+1 != m) and (l-2 == n):
print("конь не угражает полю m,n")
else (k+1 != m) and (l-2 != n):
print("конь не угражает полю m,n")
if (k-1 == m) and (l+2 == n):
print("конь угражает полю m,n")
elif (k-1 != m) and (l+2 != n):
print("конь не угражает полю m,n")
elif (k+1 == m) and (l+2 == n):
print("конь угражает полю m,n")
else (k+1 != m) and (l+2 != n):
print("конь не угражает полю m,n")
Ответы на вопрос
Ответ:
Если я правильно понял, то код можно сократить в несколько раз.
Объяснение:
k, l = int(input("Введите номер вертикали коня: ")), int(input("Введите номер горизонтали коня: "))
m, n = int(input("Введите номер вертикали: ")), int(input("Введите номер горизонтали: "))
if (abs(k - m) == 2 and abs(l - n) == 1) or (abs(k - m) == 1 and abs(l - n) == 2):
print("Конь угрожает полю m, n")
else:
print("Конь не угрожает полю m, n")
horse_x = int(input("Горизонталь коня (1..8): "))
horse_y = int(input("Вертикаль коня (1..8): "))
cell_x = int(input("Горизонталь поля (1..8): "))
cell_y = int(input("Вертикаль поля (1..8): "))
if (cell_x - horse_x)**2 + (cell_y - horse_y)**2 == 5:
print("Конь угрожает полю (m, n)")
else:
print("Конь не угрожает полю (m, n)")