На python.В массиве из 10 вещественных чисел отсортировать в порядке убывания

На python.В массиве из 10 вещественных чисел отсортировать в порядке убывания все отрицательные элементы. Положительные и нулевые элементы бросить на собственных местах.

Задать свой вопрос
1 ответ

Ответ: Попробуй это, надеюсь, верно понял задание:

def task():

   numbers = input("Введите массив чисел через пробел: ")

   array = list(numbers.split())

   negativelist = []

   loopint = 0

   for i in range(0, len(array)):

       array[i] = int(array[i])

   while loopint lt; len(array):

       if array[loopint] lt; 0:

           negativelist.append(array[loopint])

       else:

           pass

       loopint = loopint + 1

       

   negativelist.sort()

   final_list = negativelist + array

   result = []

   for i in final_list:

       if i not in result:

           result.append(i)

   print(result)

Разъяснение:

1)Объявляем функцию task() без характеристик;

2)Ждем ввода чисел с поддержкою input();

3)Превращаем введенные числа в массив с помощью list(), за ранее разбив их по пробелам с подмогою split();

4)Так как необходимо отсортировать только негативные элементы, нам нужен будет отдельный массив негативных чисел, создаем порожний лист negativelist и переменную для loop'a loopint;

5)Превращаем все введенные элементы в числа с поддержкою for loop и функции int();

6)Производим итерацию через массив чисел и, если число меньше 0, добавляем его в лист отрицательных чисел negativelist с подмогою функции append(), если же число не отрицательное, то ничего не делаем (pass). Не забываем про луп-переменную.

7)Сейчас когда у нас есть отдельный список отрицательных чисел, сортируем его с помощью sort();

8)Объявляем новый перечень, где отрицательный массив добавляется к введенному юзером массиву так, чтоб отрицательные числа были слева. Сейчас у нас есть отсортированные отрицательные числа слева, но они также остались и на собственных начальных местах вначале введенного массива, необходимо избавиться от их;

9)Сравниваем два массива и, если нет дупликатов, добавляем их в окончательный массив result, при этом не трогая неотрицательные числа.

Главно: эта программа будет работать правильно, если все введенные числа будут уникальны, то есть не будут повторяться. Если в массиве будут повторяющиеся числа, то в окончательном итоге появится только одно такое число. Далее уж сам поколдуй как-нибудь.

, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт