# создаем функцию sort_array которая принимает список чисел source_array
def sort_array(source_array):
    # создаем переменную odd_numbers в которой собираем только нечетные числа через генератор списка и сразу сортируем их через sorted
    odd_numbers = sorted([number for number in source_array if number % 2 != 0])
    # создаем пустой список result куда будем складывать итоговый ответ
    result = []
    # создаем переменную index для того чтобы по очереди брать числа из отсортированного списка odd_numbers
    index = 0
    # перебираем все числа из исходного списка source_array через цикл for
    for number in source_array:
        # если текущее число нечетное
        if number % 2 != 0:
            # берем очередное отсортированное нечетное число и кладем в result
            result.append(odd_numbers[index])
            # сдвигаем index на 1 чтобы на следующем шаге взять следующее число
            index += 1
        # иначе если число четное
        else:
            # оставляем его на том же месте и кладем в result
            result.append(number)
    # возвращаем готовый список
    return result


# вызываем функцию sort_array с примером из задания и печатаем результат
print(sort_array([9, 8, 7, 6, 5, 4, 3, 2, 1, 0]))