Розглянемо задачу, що на basecamp.eolymp.com має дуже дивний коефіцієнт прийняття – 24%. При цьому для успішного розв’язання треба… уважно прочитати умову. Давайте розбиратися.
Подвоєння
https://basecamp.eolymp.com/uk/problems/6275
Подвоїти кожну цифру заданого тризначного числа.
Вхідні дані
Трицифрове ціле число.
Вихідні дані
Відповідь до задачі.
Приклади
Вхідні дані #1
123
Відповідь #1
112233
Здається, куди ж простіше? Але тоді незрозуміло чому такий низький кофеціцієнт прийняття.
Можливо, тому що автори задачі в тестах на початку понаставили пробілів. Бо ніхто ж нам не обіцяє, що число буде обов’язково «123». А якщо « 123». Якщо ми будемо розв’язувати задачу, сприймаючи вхідні дані як текст, то це важливо. Але ми можемо швидко обрізати всі пробіли, і на початку і на кінці: x = input().strip()
А далі, якщо знову-таки працюємо з текстовими даними, то можна, наприклад, так:
print(a[0] * 2 + a[1] * 2 + a[2] * 2)
Але задача здається лише на 60%. Що ж не так?
А якщо вхідними даними буде трицифрове число? Розв'яжемо, наприклад, так:
x = int(input())
x2, x3 = divmod(x, 10)
x1, x2 = divmod(x2, 10)
print(x1 * 100000 + x1 * 10000 + x2 * 1000 + x2 * 100 + x3 * 10 + x3)
І знову та сама проблема: задача приймається лише на 60%
Давайте хоч тут уважно прочитаємо умову )
Вхідні дані: трицифрове ціле число.
І тому просте питання: чи є число -123 трицифровим цілим числом?
Успіхів!