😎 ЯНДЕКССОБЕС: превращаем числа в читаемые диапазоны! Дан список целых чисел без повторений. Нужно преобразовать его в строку, свернув последовательные по числовому ряду значения в диапазоны (a-b), а одиночные числа оставить как есть. Например, у вас есть список: [0, 1, 2, 4, 5, 7, 8] И хочется превратить его в: "0-2,4-5,7-8" Вместо десятков чисел — всего пара аккуратных диапазонов! Идеально для отображения строк, страниц, ID или логов. Вот сам код: def group_ranges(nums): if not nums: return "" result = [] start = end = nums[0] for num in nums[1:]: if num == end + 1: end = num else: result.append(f"{start}-{end}" if start != end else str(start)) start = end = num result.append(f"{start}-{end}" if start != end else str(start)) return ",".join(result) Пример: nums = [0, 1, 2, 4, 5, 7, 8] print(group_ranges(nums)) # Вывод: "0-2,4-5,7-8" Попробуй сам — скопируй код, поиграй с разными списками и посмотри, как он аккуратно всё группирует. 💪
😎 ЯНДЕКССОБЕС: превращаем числа в читаемые диапазоны
24 июня 202524 июн 2025
~1 мин