Ad
Arrays
Filtering
Sorting

Description:

You are given a string representation of a list of numbers.

You need to perform the following steps:

  1. Convert the string into a list of numbers.
  2. Rearrange the elements of the list so that:
    • All even numbers come at the beginning of the list.
    • All odd numbers come at the end of the list.
  3. Return a string consisting of the numbers, separated by spaces.
  4. If the list contains only even or only odd numbers, return the string unchanged.

Example №1

Input: "5 2 4 7 3 8 1"

Output: "2 4 8 5 7 3 1"

Example №2

Input: "1 3 5 7 9"

Output: "1 3 5 7 9"

Hint:

Use Python methods for filtering and sorting the list.

If you need to check whether a number is even or odd, use the modulo operation (%).

Описание:

Дано строковое представление списка чисел.

Нужно выполнить следующее:

  1. Преобразовать строку в список чисел.
  2. Переставить элементы этого списка так, чтобы:
    • Все чётные числа стали в начале списка.
    • Все нечётные числа — в конце списка.
  3. Вернуть строку, которая состоит из чисел, разделённых пробелами.
  4. Если в списке все числа чётные или все нечётные, верните строку без изменений.

Пример №1

Ввод: "5 2 4 7 3 8 1"

Вывод: "2 4 8 5 7 3 1"

Пример №2

Ввод: "1 3 5 7 9"

Вывод: "1 3 5 7 9"

Подсказка:

Используйте Python-методы для фильтрации и сортировки списка.

Если вам нужно проверить четность числа, используйте операцию взятия остатка от деления.

def rearrange_numbers(numbers: str) -> str:
    # Преобразуем строку в список чисел
    num_list = list(map(int, numbers.split()))
    
    # Разделим числа на чётные и нечётные
    even_numbers = [num for num in num_list if num % 2 == 0]
    odd_numbers = [num for num in num_list if num % 2 != 0]
    
    # Если все числа одинакового типа, возвращаем исходную строку
    if not even_numbers or not odd_numbers:
        return numbers
    
    # Сначала чётные, потом нечётные
    result = even_numbers + odd_numbers
    
    # Преобразуем результат обратно в строку
    return ' '.join(map(str, result))