Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Прогромирование для пайтон

Dyoma Dyoma Ученик (22), на голосовании 4 дня назад
Напомним, что в шахматах используется клеточная доска размером 8х8, где располагаются шахматные фигуры, которые могут перемещаться по определенным правилам. В частности, ладья может перемещаться на любое расстояние, как по вертикали, так и по горизонтали.

Требуется определить: может ли ладья выполнить ход из клетки с координатами (X1,Y1) в клетку с координатами (X2,Y2) на стандартной шахматной доске?

Входные данные
Первая строка входного файла INPUT.TXT содержит два целых числа X1 и Y1 – начальную координату ладьи. Во второй строке записана конечная координата – целые числа X2 и Y2 (1 ≤ X1,Y1,X2,Y2 ≤ 8). Гарантируется, что начальная и конечная координаты не совпадают.

Выходные данные
В выходной файл OUTPUT.TXT выведите «YES», если ход является допустимым, и «NO» - в противном случае.
Голосование за лучший ответ
Лев Перфилов Просветленный (29522) 1 месяц назад
 x1,y1,x2,y2=0
with open("INPUT.TXT") as f:
x1, y1 = map(int, f.readLine())
x2, y2 = map(int, f.readLine())
with open("OUTPUT.TXT, "w") as f:
f.write("YES" if x1==x2 or y1==y2 else "NO")
Рустам Абдрашитов Мудрец (10552) 1 месяц назад
Лови
 def is_valid_coordinate(value): 
return 1 <= value <= 8

def read_coordinates(prompt):
while True:
try:
x, y = map(int, input(prompt).split())
if is_valid_coordinate(x) and is_valid_coordinate(y):
return x, y
else:
print("Координаты должны быть в диапазоне от 1 до 8. Попробуйте еще раз.")
except ValueError:
print("Некорректный ввод. Пожалуйста, введите два целых числа.")

def main():
print("Программа для проверки возможности хода ладьи на шахматной доске.")

x1, y1 = read_coordinates("Введите начальные координаты ладьи (X1 Y1): ")
x2, y2 = read_coordinates("Введите конечные координаты ладьи (X2 Y2): ")

if x1 == x2 and y1 == y2:
print("Начальная и конечная позиции не должны совпадать. Попробуйте еще раз.")
return

if x1 == x2 or y1 == y2:
print("YES")
else:
print("NO")

if __name__ == "__main__":
main()
RatÆCatОракул (60405) 1 месяц назад
 Где одинаковые строчки и разный результат, замечательно

if x1 == x2 and y1 == y2:
         print("Начальная и конечная позиции не должны совпадать. Попробуйте еще раз.")  
         return  
     if x1 == x2 or y1 == y2:  
         print("YES") 
RatÆCatОракул (60405) 1 месяц назад
Все верно, я почему то задачу для слона решил
Лев ПерфиловПросветленный (29522) 1 месяц назад
Ввод и вывод не в файл, а проверка входных данных вообще не нужна.
Лев ПерфиловПросветленный (29522) 1 месяц назад
Нейросеть писала, да?
Рустам Абдрашитов Мудрец (10552) Лев Перфилов, да
Похожие вопросы