Форум сайта python.su
0
Привет. Начал учить Python по одному интерактивному учебнику. Помогите, пожалуйста, с задачей. Вроде как, я все правильно написал, но при вводе именно опеределенных чисел, программа не работает.
Шахматный король ходит по горизонтали, вертикали и диагонали, но только на 1 клетку. Даны две различные клетки шахматной доски, определите, может ли король попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести YES, если из первой клетки ходом короля можно попасть во вторую или NO в противном случае.
a = int(input()) b = int(input()) c = int(input()) d = int(input()) if abs(c-a)==1 or abs(c-a)==0 and abs(d-b)==1: print("YES") else: print("NO")
Отредактировано Straik32423 (Май 18, 2016 13:49:19)
Офлайн
20
Straik32423Вообщем скобки и условие допишите.
Офлайн
0
может, лучше так
a = int(input()) b = int(input()) c = int(input()) d = int(input()) if abs(c-a) <= 1 and abs(d-b) <= 1: print("YES") else: print("NO")
Офлайн
0
vdm_marБлагодарю
может, лучше так
Офлайн
8
for i in 'a', 'b', 'c', 'd': vars()[i] = int(input()) print("YES" if abs(c - a) <= 1 and abs(d - b) <= 1 else "NO")
Офлайн