Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/25: Рейтинг темы: голосов - 25, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 28.03.2022
Сообщений: 22
1

В списке с четными и нечетными числами. отсортировать четные по возр, нечетные - по убыванию

26.04.2022, 15:24. Показов 4871. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Попалась задачка.
#Напишите программу, в которой создается числовой список.
# Список заполняется случайными числами. Затем элементы с четными
# индексами сортируются в порядке возрастания,
# а элементы с нечетными индексами сортируются в порядке убывания.
Ничего более умного, чем разбить на списки четных и нечетных и отсортировать не приходит. Можно ли это сделать в рамках одного списка?
Вот как у меня:
Python
1
2
3
4
5
6
7
8
9
A=[12,13,4,7,18,21,9,56,8,9,17,29,34]
 
B = [i for i in range(1,len(A)) if i%2==0]
B.sort()
print(B)
 
C = [i for i in range(1,len(A)) if not i%2==0]
C.sort(reverse=True)
print(B+C)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2022, 15:24
Ответы с готовыми решениями:

Разделить элементы массива на четные и нечетные, и отсортировать четные по возрастанию а нечетные по убыванию
Разделить элементы массива на четные и нечетные, и отсортировать четные по возростанию а нечетные...

Элементы с четными индексами отсортировать по возрастанию, с нечетными - по убыванию.
Ввести массив из 20 чисел. Элементы с четными индексами отсортировать по возрастанию, с нечетными -...

Отсортировать элементы массива, с чётными индексами - по возрастанию, с нечётными - по убыванию
Организуйте массив содержащий 20 целых чисел. Отсортируйте отдельно элементы с четными инднксами по...

Отсортировать чётные элементы по возрастанию, а нечётные по убыванию
Вот условие(могу кое где ошибаться в правильности постановки задачи) Составить одномерный массив,...

16
1831 / 803 / 334
Регистрация: 05.09.2021
Сообщений: 1,321
26.04.2022, 19:12 2
Цитата Сообщение от Miguel_1988 Посмотреть сообщение
Ничего более умного, чем разбить на списки четных и нечетных и отсортировать не приходит. Можно ли это сделать в рамках одного списка?
Напишите, что должна выдать программа. Полностью условие. Можно прямо на примере вашего же списка. Напишите ответ. Конкретно, что должно получиться.
0
Status 418
Эксперт Python
4581 / 2348 / 602
Регистрация: 26.11.2017
Сообщений: 5,264
Записей в блоге: 3
26.04.2022, 19:29 3
Python
1
2
3
4
a = [12, 13, 4, 7, 18, 21, 9, 56, 8, 9, 17, 29, 34]
a[::2] = sorted(a[::2])
a[1::2] = sorted(a[1::2], reverse=True)
print(a)
4
1831 / 803 / 334
Регистрация: 05.09.2021
Сообщений: 1,321
26.04.2022, 19:39 4
Python
1
2
3
4
from itertools import zip_longest
a = [12, 13, 4, 7, 18, 21, 9, 56, 8, 9, 17, 29, 34]
a = [j for i in zip_longest(sorted(a[::2]), sorted(a[1::2], reverse=True)) for j in i if j is not None]
print(a)
0
5025 / 3371 / 1155
Регистрация: 21.03.2016
Сообщений: 8,187
26.04.2022, 19:52 5
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
def main_sort(index):
    for i in range(len(A)):
        if (not A[i]% 2 and not index %2) and A[index] < A[i]:
            A[index], A[i] =  A[i], A[index]
        elif  (A[i]% 2 and index %2) and A[index] > A[i]:
            A[index], A[i] =  A[i], A[index]
        
    
A = [12,13,4,7,18,21,9,56,8,9,17,29,34]
for index in range(len(A)):
        main_sort(index)
 
print(A)
Добавлено через 4 минуты
anton78spb, есть косячок
[4, 56, 8, 29, 9, 21, 12, 13, 17, 9, 18, 7, 34] что то идет не так. у меня кстати тоже. сразу не заметил

[4, 29, 8, 21, 12, 13, 17, 9, 18, 9, 34, 7, 56]
0
1831 / 803 / 334
Регистрация: 05.09.2021
Сообщений: 1,321
26.04.2022, 20:12 6
Semen-Semenich, давайте разбираться.
Семен Семенович, не врубаюсь, где косяк, ответ не верный?
Взял код от уважаемого eaa. Запустил последовательно. С ним результат совпадает.
Python
1
2
3
4
5
6
7
8
9
a = [12, 13, 4, 7, 18, 21, 9, 56, 8, 9, 17, 29, 34]
a[::2] = sorted(a[::2])
a[1::2] = sorted(a[1::2], reverse=True)
print(a)
 
from itertools import zip_longest
a = [12, 13, 4, 7, 18, 21, 9, 56, 8, 9, 17, 29, 34]
a = [j for i in zip_longest(sorted(a[::2]), sorted(a[1::2], reverse=True)) for j in i if j is not None]
print(a)
Код
[4, 56, 8, 29, 9, 21, 12, 13, 17, 9, 18, 7, 34]
[4, 56, 8, 29, 9, 21, 12, 13, 17, 9, 18, 7, 34]
0
5025 / 3371 / 1155
Регистрация: 21.03.2016
Сообщений: 8,187
27.04.2022, 09:45 7
anton78spb,
Цитата Сообщение от Miguel_1988 Посмотреть сообщение
отсортировать четные по возр
[4, 56, 8, 29, 9, 21, 12, 13, 17, 9, 18, 7, 34] как то не очень сортировка
Цитата Сообщение от Miguel_1988 Посмотреть сообщение
нечетные - по убыванию
[4, 56, 8, 29, 9, 21, 12, 13, 17, 9, 18, 7, 34] совсем не по убыванию. что я и заметил в своем выводе

[4, 29, 8, 21, 12, 13, 17, 9, 18, 9, 34, 7, 56]с четными вроде все что нужно а вот нечетные загвоздка
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
37302 / 20736 / 4272
Регистрация: 12.02.2012
Сообщений: 34,127
Записей в блоге: 14
27.04.2022, 09:48 8
Интереснее, если чётный/нечётный относится не к позиции, а к значению...
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
19234 / 10954 / 2917
Регистрация: 21.10.2017
Сообщений: 23,148
27.04.2022, 09:48 9
Semen-Semenich, четные и нечетные индексы, а не элементы
0
1831 / 803 / 334
Регистрация: 05.09.2021
Сообщений: 1,321
27.04.2022, 09:52 10
Semen-Semenich, Так в условии говорится, что надо отсортировать по возрастанию элементы с четными индексами, а с нечетными индексами по убыванию. Не четные и нечетные значения элементов. А именно с четными и нечетными индексами. Вроде все верно работает. Или я чего-то не замечаю?
[4, 56, 8, 29, 9, 21, 12, 13, 17, 9, 18, 7, 34]
Красные по возрастанию. Черные по убыванию.
0
5025 / 3371 / 1155
Регистрация: 21.03.2016
Сообщений: 8,187
27.04.2022, 09:53 11
iSmokeJC, про индексы ни слова
Цитата Сообщение от Miguel_1988 Посмотреть сообщение
В списке с четными и нечетными числами. отсортировать четные по возр, нечетные - по убыванию
и где про индексы? все про числа. хотя автор в своем коде пытается с индексами
0
1831 / 803 / 334
Регистрация: 05.09.2021
Сообщений: 1,321
27.04.2022, 10:09 12
Semen-Semenich, Ну вот же, в первом посте.
Цитата Сообщение от Miguel_1988 Посмотреть сообщение
# Список заполняется случайными числами. Затем элементы с четными
# индексами сортируются в порядке возрастания,
# а элементы с нечетными индексами сортируются в порядке убывания.
Последнее слово в первой строке цитаты, и первое во второй. Также второе и третье слова, не считая предлогов в третьей строке.
0
5025 / 3371 / 1155
Регистрация: 21.03.2016
Сообщений: 8,187
27.04.2022, 10:13 13
anton78spb, читаю заголовок задачи а дальше не читал. теперь буду читать всю писанину. там правда такой бред особенно с ял задачи.. надо же так условие одно а дальше совсем другое.
0
2170 / 1653 / 840
Регистрация: 10.01.2015
Сообщений: 5,192
27.04.2022, 10:13 14
Цитата Сообщение от Miguel_1988 Посмотреть сообщение
элементы с четными
# индексами
сортируются в порядке возрастания,
# а элементы с нечетными индексами сортируются в порядке убывания.
Semen-Semenich, да вообще именно про индексы написано.
Цитата Сообщение от Semen-Semenich Посмотреть сообщение
В списке с четными и нечетными числами. отсортировать четные по возр, нечетные - по убыванию
Этого текста вообще нет. Украли...
О, блин, а я тему не прочитал...
0
1831 / 803 / 334
Регистрация: 05.09.2021
Сообщений: 1,321
27.04.2022, 10:13 15
Я понял, вы только заголовок прочитали. Там действительно про индексы ни слова. А дальше в посте, речь идет уже про индексы.
0
5025 / 3371 / 1155
Регистрация: 21.03.2016
Сообщений: 8,187
27.04.2022, 10:18 16
Пифагор, у меня есть и так крупно
В списке с четными и нечетными числами. отсортировать четные по возр, нечетные - по убыванию
ну ладно разобрались.
0
5025 / 3371 / 1155
Регистрация: 21.03.2016
Сообщений: 8,187
27.04.2022, 10:20 17
Цитата Сообщение от Пифагор Посмотреть сообщение
О, блин, а я тему не прочитал...
а я тему прочитал а дальше не стал
0
27.04.2022, 10:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2022, 10:20
Помогаю со студенческими работами здесь

Нечетные числа массива отсортировать по возрастанию, а четные по убыванию
Добрый день, уважаемые программисты и разработчики C++. Вот такая задача стоит : разработать...

Отсортировать список (четные варианты – по возрастанию, нечетные – по убыванию)
Создать динамический список, из чисел, вводимых с клавиатуры (признак конца ввода – CTRL+Z)....

Отсортировать четные элементы массива по возрастанию, а нечетные по убыванию
Отсортировать четные элементы массива по возрастанию, а нечетные по убыванию

Отсортировать четные элементы массива по возрастанию, а нечетные по убыванию
По четным по возрастанию по нечетным по убыванию. Пробую пузырьковую сортировку не получается(

Отсортировать четные элементы массива по возрастанию, а нечетные по убыванию
помогите найти ошибку.не верно сортирует. #include &lt;iostream&gt; #include &lt;math.h&gt;...

В массиве отсортировать четные строчки по возрастанию, а нечетные по убыванию
Дан двумерный массив с рандомными значениями , как отсортировать четные строчки по возрастанию, а...

Отсортировать чётные столбцы матрицы по возрастанию, а нечётные – по убыванию
Нужно: Отсортировать чётные столбцы матрицы по возрастанию, а нечётные – по убыванию. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru