С Новым годом! Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/47: Рейтинг темы: голосов - 47, средняя оценка - 4.70
0 / 0 / 0
Регистрация: 24.03.2021
Сообщений: 19

Шахматная доска: король

06.04.2021, 15:13. Показов 9437. Ответов 9

Студворк — интернет-сервис помощи студентам
Петя очень любит играть в шахматы. Он просит создать программу, которая поможет ему рассчитывать передвижение шахматной фигуры «король». Данная фигура ходит по горизонтали, вертикали или диагонали на одну клетку.
Программа получает на вход четыре числа от 1 до 8 каждое. Первые два числа — задают координаты местонахождения короля в данный момент (номер строки и столбца), Два других числа — координаты клетки, в которую необходимо переместить фигуру (гарантируется, что клетки не совпадают). Программа должна вывести "Да", если из первой клетки ходом короля можно попасть во вторую, иначе — "Нет".

Бонус! Реши задачу при условии, что пользователь может ввести одинаковые клетки. В таком случае программа должна выводить "Нет".

Помогите, пожалуйста
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.04.2021, 15:13
Ответы с готовыми решениями:

Шахматная доска
На Питоне!!!!!!!!!!!!!!!!!!!!! Даны два числа n и m. Создайте двумерный массив размером n×m и заполните его символами 1 и 0 в шахматном...

Шахматная доска
Добрый день! Помогите новичку разобраться в данной задачи, непонятно не с чего начать, не как её реализовать: На вход подаётся строка...

Шахматная доска
Hallo, всем ползователям форума. Сори за, возможно, тупой вопрос, но у меня такая проблема: Я хочу написать простой код, который...

9
Эксперт Python
8848 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,315
06.04.2021, 15:45
kapurdok,
Python
1
2
3
4
5
x1, y1 = map(int, input().split())
x2, y2 = map(int, input().split())
x = abs(x1-x2)
y = abs(y1-y2)
print('Да' if x+y == 1 or x*y == 1 else 'Нет')
2
0 / 0 / 0
Регистрация: 24.03.2021
Сообщений: 19
07.04.2021, 16:53  [ТС]
К сожалению, выдаёт ошибку. Можете, пожалуйста, попробовать сделать используя "if/else/elif/and/or/not и математические знаки", желательно, без "split/abs и т.п."?? Буду очень благодарен
0
Костыли любой сложности
201 / 146 / 36
Регистрация: 27.10.2019
Сообщений: 843
07.04.2021, 16:58
kapurdok,
Python
1
2
3
4
5
x1,y1,x2,y2=input().split(' ') #a1-a2> 1 1 1 2
if abs(x1-x2)==1 and abs(y1-y2)==1: #валидный ход короля есть модуль разности координат равный еденице
  print('ok')
else:
  print('invalid')
1
712 / 351 / 120
Регистрация: 09.12.2020
Сообщений: 918
07.04.2021, 17:02
Python
1
2
3
4
5
6
7
8
9
10
11
x1, y1, x2, y2 = int(input()), int(input()), int(input()), int(input())
xp = x1 - x2
yp = y1 - y2
if xp < 0:
    xp = -xp
if yp < 0:
    yp = -yp
if xp <= 1 and yp <= 1:
    print('Да')
else:
    print('Нет')
может так?
1
Эксперт Python
8848 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,315
07.04.2021, 17:16
Лучший ответ Сообщение было отмечено kapurdok как решение

Решение

user-ganz, при x1, y1 = 3, 3 варианты x2, y2:
2, 2
2, 3
2, 4
3, 4
4, 4
4, 3
4, 2
3, 2
Поэтому вместо
Python
1
if abs(x1-x2)==1 and abs(y1-y2)==1:
нужно или
Python
1
2
3
if (abs(x1-x2)==1 or abs(x1-x2)==0)\
 and (abs(y1-y2)==1 or abs(y1-y2)==0)\
and abs(x1-x2) + abs(y1-y2) != 0:
или:
Python
1
2
if abs(x1-x2)<2 and abs(y1-y2)<2\
 and abs(x1-x2)+abs(y1-y2) != 0:
1
Костыли любой сложности
201 / 146 / 36
Регистрация: 27.10.2019
Сообщений: 843
07.04.2021, 17:20
Gdez, да верно, мало подумал
0
Эксперт Python
8848 / 4500 / 1864
Регистрация: 27.03.2020
Сообщений: 7,315
07.04.2021, 17:26
kapurdok, ошибка ; похоже нужно вместо
Python
1
2
x1, y1 = map(int, input().split())
x2, y2 = map(int, input().split())
Так
Python
1
x1, y1, x2, y2 = map(int, input().split())
Все четыре числа на одной строчке
Или
Python
1
2
3
4
x1 = int(input())
y1 = int(input())
x2 = int(input())
y2 = int(input())
На разных строчках
1
0 / 0 / 0
Регистрация: 24.03.2021
Сообщений: 19
09.04.2021, 14:45  [ТС]
Все написанные варианты прошли, спасибо большое!
0
1 / 1 / 0
Регистрация: 20.12.2020
Сообщений: 24
09.04.2021, 21:25
Python
1
2
3
4
5
6
7
8
x1 = int(input())
y1 = int(input())
x2 = int(input())
y2 = int(input())
if abs(x1 - x2) <= 1 and abs(y1 - y2) <= 1:
    print('YES')
else:
    print('NO')
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.04.2021, 21:25
Помогаю со студенческими работами здесь

Шахматная доска
https://contest.yandex.ru/testsys/statement-image?imageId=f48a4dbfd6ebc09b1a5e104dfb1b9cff05111e0b469ef02c36c3ad1c37b5558f На шахматной...

Задача Шахматная доска
Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. По введенным координатам двух полей (k,l) и...

Шахматная доска - 2, задача по программированию
Мой код r = open('input.txt', 'r') w = open('output.txt', 'w') input_val = r.readline().split(' ') m = int(input_val) n =...

Шахматная доска состоит из n×m клеток, покрашенных в чёрный и белый цвет в шахматном порядке
Шахматная доска Шахматная доска состоит из n×m клеток, покрашенных в чёрный и белый цвет в шахматном порядке. При этом клетка в левом...

Шахматная доска
Добрый вечер! Есть задача: Напишите функцию board(num, size), создающую графический файл в формате PNG с изображением квадратного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru