Categories
//Возрастающие и последовательные числа: задача на написание кода
Возрастающие и последовательные числа: задача на написание кода
Кодинг-марафон. Задача 7.
Напишите функцию, которая будет возвращать True, если строка, являющаяся аргументом функции, содержит возрастающие И последовательные числа. Например, ‘123’ (1-2-3) или ‘101112’ (10-11-12).
Примечания
- Функция должна возвращать (не печатать!) только TrueFalse, она не должна бросать исключений.
- Предполагается, что строка-аргумент никогда не пустая и всегда содержит минимум 2 числа, например ’10’ — валидная строка.
- Строка-аргумент будет содержать только числа.
Сигнатура — def ascending(value: str) -> bool:
Примеры
ascending("232425") ➞ True, поскольку строку можно представить как 23, 24, 25 (числа следуют друг за другом по возрастанию) ascending("2324256") ➞ False, так как шестерка в конце ломает возрастающий ряд ascending("444445") ➞ True, поскольку строку можно представить как 444 и 445.
Решение
def ascending(value): for i in range(1, len(value) // 2 + 1): generated = ''.join(str(int(value[:i]) + j) for j in range(len(value) // i)) if value == generated[:len(value)]: return True return False
Кодинг-марафон по Python
Реши 10 задач и выиграй 5500 рублей
Подписаться ×
- 6 views
- 0 Comment