Вопрос Где ошибка? ( задача python )

Регистрация
18 Июн 2013
Сообщения
75
Репутация
0
Спасибо
0
Монет
0
Даны два числа.

Проверить, оканчивается ли первое число на второе?



Формат входных данных:

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



Формат выходных данных:

Строка с ответом – "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 = n1s[k-1]

n2_2 = n1s[k-2]

n2_3 = n1s[k-3]

n2a = n2_1 + n2_2 + n2_3

if n1a == n2a:

print("YES")

else:

print("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")
 
Chat Gpt
В коде есть ошибка в строках, где определяются значения n2_1, n2_2 и n2_3. Вместо n1s нужно использовать n2s, чтобы получить последние три цифры второго числа:

n2_1 = n2s[k-1]
n2_2 = n2s[k-2]
n2_3 = n2s[k-3]

Также необходимо изменить проверку в условном операторе, чтобы сравнивать n1_3 с n2_3, а не n2_1:

if n1_3 == n2_3:
print("YES")
else:
print("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")
 
В первой строке ты берёшь левые три символа, во второй строке ты берёшь правые три символа, и сравниваешь. Интересно, когда же они совпадут?
 
Назад
Сверху