Автор - kulema2002

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

Ответ

Автор - AwesomeRomchik

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

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 < len(array):

       if array[loopint] < 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, при этом не трогая неотрицательные числа.

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

Ответы и объяснения

Сервис носит ознакомительный характер, вся информация, а в частности вопросы и ответы, которые задают и отвечают пользователи.
© 2025 Все права защищены Политика конфиденциальности Контакты
search points attachment profile arrow left arrow right star heart verified symbols equation arrow-down question mark check menu accountancyadministrationagriculturalalgebraallarabicartart_musicbelarusbelarus_altbiologybusinesscatalachemistrychineseeconomicsegzamenglishentrepreneurshipenvironmentethicseuskarafirst_aidfrenchgalegogeographygeologygeometrygermangrammarhealthhistoryindia_langindonesian_langinformaticsitalianjapanesekazachkazach_altkoreanlanguagelatinlawlife_scienceliteraturelogicmathematicsmusicnigerian_langother_languagesotherspedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligionrpa_langrussianrussian_altsciencesecurityskillssocial_sciencesociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation accountancyadministrationagriculturalalgebraall_1arabicartart_music_2belarusbelarus_altbiologybusiness_2catalachemistry_1chineseeconomicsexam_3englishentrepreneurshipenvironment_2ethicseuskarasecurity_1frenchgalegogeography_4geology_4geometrygermangrammarhealthhistoryindia-langindonesian-langinformaticsitalianjapanesekazachAsset 230koreanlanguagelatinlawlife-scienceliteraturelogic_2mathematicsmusicnigerian-langotherlanguagesother_1pedagogicsphilosophyphysical_educationphysicspoliticspsychologyreligion_1rpa-langrussianrussian_altsciencesecurity_3_mskills_1allsocial_science_5_msociologyspanishstatisticstechnologytourismtrafficukrainianukrainian_altukrainian_literaturewos_civilisation