Задача Python. Почему не работает? Даны два числа.
Проверить, оканчивается ли первое число на второе?

Формат входных данных
Два целых числа, каждое на отдельной строчке.

Формат выходных данных
Строка с ответом – "YES" или "NO".

Примечания
Гарантируется, что второе число трёхзначное.
n1 = int(input())
n2 = int(input())
n1s = str(n1)
n2s = str(n2)
n1_1 = n1s[0]
n1_2 = n1s[1]
n1_3 = n1s[2]
n1a = n1_1 + n1_2 + n1_3
k = len(n2s)
n2_1 = n2s[k-1]
n2_2 = n2s[k-2]
n2_3 = n2s[k-3]
n2a = n2_1 + n2_2 + n2_3
if n1a == n2a:
print("YES")
else:
print("NO")

28 Мар 2023 в 19:40
106 +1
0
Ответы
1

Проблема в том, что при конкатенации символов в переменные n1_1, n1_2, n1_3, n2_1, n2_2, n2_3, они остаются строковыми значениями, а не числами. Поэтому при их сравнении возникает ошибка.

В данном случае, нужно изменить эти переменные на целочисленные значения:

n1_1 = int(n1s[0])
n1_2 = int(n1s[1])
n1_3 = int(n1s[2])
n2_1 = int(n2s[k-1])
n2_2 = int(n2s[k-2])
n2_3 = int(n2s[k-3])

После этого ваш код должен работать корректно.

16 Апр 2024 в 16:28
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир