Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 20.11.2022
Сообщений: 8

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

20.11.2022, 14:29. Показов 2950. Ответов 5

Студворк — интернет-сервис помощи студентам
Для игры в американский футбол собрались 22 мальчика с разным весом. Их вес (у всех он разный) и их имена (тоже у всех разные) даны в текстовом файле. Требуется создать две команды следующим образом: отсортировать всех ребят по убыванию веса, а затем 1-го, 3-го, 5-го и т.д. игроков отобрать в 1-ю команду, а оставшихся — во 2-ю команду. Вывести список команды №1 в первые 11 строк файла team.txt, а список команды №2 в последние 11 строк файла team.txt. В списках команд указывать и имена, и значения веса.

Пример
Ввод
A 1.5
B 2.5
C 3.5
D 4.5
E 6.5
F 7.5
G 8.5
H 9.5
I 10.5
J 11.5
K 12.5
L 13.5
M 14.5
N 15.5
O 16.5
P 17.5
Q 18.5
R 19.5
S 20.5
T 21.5
U 22.5
V 23.5

Вывод
V 23.5
T 21.5
R 19.5
P 17.5
N 15.5
L 13.5
J 11.5
H 9.5
F 7.5
D 4.5
B 2.5
U 22.5
S 20.5
Q 18.5
O 16.5
M 14.5
K 12.5
I 10.5
G 8.5
E 6.5
C 3.5
A 1.5

Есть такое решение:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from functools import partial 
import operator as op 
f = open('team.txt', 'r') 
r = f.read() 
res,to_f = '',[] 
for line in r: 
    res += line 
n = list(map(lambda x: x.split(' '),res.split('\n'))) 
def f(y):     
    x = float(y[-1]) 
    y[-1] = x 
    return y 
for i in n: 
    to_f += [f(i)] 
sorted_by_last_elem = partial(list.sort,key=op.itemgetter(-1)) 
sorted_by_last_elem(to_f) 
for i in list(reversed(to_f)): 
    print(*i)
Но оно не принимается кодификатором, видимо, нужно, чтоб оно было проще.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.11.2022, 14:29
Ответы с готовыми решениями:

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

Массив, состоящий из N элементов, отсортировать методом пузырька сначала по возрастанию, а затем по убыванию
Массив, состоящий из N элементов, отсортировать методом пузырька сначала по возрастанию, а затем по убыванию

Отсортировать числа в списке так, чтобы сначала шли четные, а затем нечетные числа
задать список целых чисел. Отсортировать числа в списке так, чтобы сначала шли четные, а затем нечетные числа.

5
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,734
Записей в блоге: 14
20.11.2022, 14:32
Цитата Сообщение от kamchatkachild Посмотреть сообщение
Но оно не принимается кодификатором
- и что выдает "кодификатор"?
0
0 / 0 / 0
Регистрация: 20.11.2022
Сообщений: 8
20.11.2022, 14:34  [ТС]
Ошибка при компиляции, но в гугл коллабе всё нормально проходит
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
20.11.2022, 14:40
Лучший ответ Сообщение было отмечено kamchatkachild как решение

Решение

Python
1
2
3
4
5
6
7
8
with open('input.txt', 'r', encoding='utf-8') as f:
    arr = f.read().splitlines()
 
arr.sort(key=lambda x: -float(x.split()[1]))
 
with open('team.txt', 'w', encoding='utf-8') as f:
    f.write('\n'.join(arr[::2]) + '\n')
    f.write('\n'.join(arr[1::2]))
1
0 / 0 / 0
Регистрация: 20.11.2022
Сообщений: 8
20.11.2022, 14:47  [ТС]
ошибка при компиляции
0
1 / 1 / 0
Регистрация: 11.11.2022
Сообщений: 10
20.11.2022, 17:14
Python
1
2
3
4
5
6
7
8
9
with open('weights.txt', 'r') as f:
    s = f.read()
    s = s.split('\n')
words = sorted(s, reverse = True)
result = words[0:22:2]+words[1:22:2]
 
 
with open("team.txt", 'w') as file:
    print(*result, sep = '\n', file=file)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.11.2022, 17:14
Помогаю со студенческими работами здесь

Отсортировать сначала отрицательные числа, затем положительные и затем ноль
Помогите, пожалуйста, составить программу сортировки массива, так, чтобы она сортировала сначала отрицательные числа, затем положительные и...

Отсортировать в списке списков элементы по убыванию значений элементов в самом первом списке
Даны натуральные числа n, m>=2, список списков, состоящий из n элементов по m чисел в элементе. Отсортировать в списке списков элементы по...

Отсортировать в списке списков элементы по убыванию значений элементов в самом первом списке
Даны натуральные числа n, m>=2, список списков, состоящий из n элементов по m чисел в элементе. Отсортировать в списке списков элементы по...

Сортировка: сначала нечетные по возрастанию затем четные по убыванию
Как сделать так что б сначала нечетные по возрастанию затем парные по убыванию (это все в рандоме и с 0 до 100)

Отсортировать в запросе сначала папки, а затем элементы по алфавиту
Строю ветвь дерева связанную с базой данных Таблица contra в базе firebird имеет такую структуру: ID N PARENTID N Naim_C Char...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru