Top.Mail.Ru
Ответы

Задача по питоне, что не так

Денис Павлович задал школьникам задачу: “Если данное четырехзначное число является симметричным, выведите 1, иначе выведите любое другое целое число”. Для проверки Денис Павлович использует заранее подготовленный набор тестов и правильных ответов к ним.

Ире кажется, что она решила эту задачу, но тестирующая система Ejudge почему-то не принимает ее решение. Ира думает, что это происходит оттого, что она выводит не то любое другое число, которое записано в ответах у Дениса Павловича.

Напишите программу, которая по ответу Дениса Павловича и по ответу Иры определяет, верно ли Ира решила задачу.

Входные данные
Программа получает на вход два числа: ответ Дениса Павловича и ответ Иры.

Выходные данные
Программа должна вывести YES, если Ира дала верный ответ и NO в противном случае.
n = int(input())
k = int(input())
n = abs(n)
if n < 1000 or n > 9999:
if k == 1:
print("NO")
else:
print("YES")
else:
if n // 1000 == n % 10 and n // 100 % 10 == n // 10 % 10:
if k == 1:
print("YES")
else:
print("NO")
else:
if k == 1:
print("NO")
else:
print("YES")


Вот с отступами

По дате
По рейтингу
Аватар пользователя
Новичок

ЗАЧЕМ ты проверяешь, что число четырёхзначное, если по условию задачи оно обязательно четырёхзначное? Зачем ты сравниваешь цифры, когда это простая проверка строки на палиндром?

12
 n, k = input(), int(input())
print(['NO', 'YES'][(n == n[::-1]) == (k == 1)]) 
Аватар пользователя
Ученик

Есть решение, Яндекс контест подтвердил это решение как верное

x=int(input())
y=int(input())
if x != 1 and y != 1:
print('YES')
elif x == 1 and y == 1:
print('YES')
else:
print('NO')