Алгоритм
Сначала алгоритм должен разбить строку по символу запятой (,). Затем отделить отдельные числа от интервалов.
Отдельные числа сохраняются в списке, а интервалы развертываются с помощью цикла for,
который выполняет перебор от начала до конца интервала и включает в выходной список каждое следующее число.
Вот подробное описание шагов алгоритма.
1. Принимается строка intervals с интервалами.
2. Если строка intervals пустая, то возвращается пустой список.
3. Создается пустой список с именем result для хранения чисел, получающихся после развертывания интервалов.
4. Входная строка разбивается на отдельные интервалы по запятым (,), которые сохраняются в списке intervals_list.
5. Для каждого интервала в списке intervals_list проверяется, содержит ли он одно число (точнее, отсутствие дефиса «-»).
Если интервал – это одно число, то он преобразуется в целое число с помощью int () и добавляется в список result.
6. Если интервал содержит диапазон чисел (т. е. присутствует дефис «-»), то он разбивается на отдельные элементы по дефису, после чего элементы преобразуются в числа start и end с помощью int ().
7. Генерируются числа между start и end с помощью функции range () и добавляются в список result посредством метода extend ().
8. После обработки всех интервалов возвращается окончательный список result, содержащий все развернутые интервалы.