Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоVK ComboВсе проекты

Для игры в американский футбол собрались 22 мальчика с разным весом.

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

Формат ввода
Текстовый файл weights.txt содержит в каждой строке пары ИМЯ ВЕС (через пробел). Например, John 57. Вес может быть вещественным числом.

Формат вывода
Файл 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
Для сортировки можно использовать sorted() с указанием параметров (см. лекцию).
Для сортировки по убыванию веса можно указать в качестве параметра sorted() значение reverse=True.
В задаче не разрешается использовать библиотеку NumPy.
Лучший ответ
Knight of the Rising Sun Мастер (2329) 3 месяца назад
Для решения данной задачи можно использовать следующий код на языке Python:

```python
# Чтение данных из файла
with open('weights.txt', 'r') as file:
lines = file.readlines()

# Создание списка из пары "имя вес"
data = [line.strip().split() for line in lines]

# Сортировка списка по убыванию веса
sorted_data = sorted(data, key=lambda x: float(x[1]), reverse=True)

# Разделение игроков на две команды
team1 = sorted_data[::2]
team2 = sorted_data[1::2]

# Запись результатов в файл team.txt
with open('team.txt', 'w') as file:
for player in team1[:11]:
file.write(' '.join(player) + '\n')
for player in team2[:11]:
file.write(' '.join(player) + '\n')
```

После запуска этого кода, файл team.txt будет содержать записи каждого игрока, отсортированные в порядке, указанном в задании. Первые 11 строк будут соответствовать команде №1, а последние 11 строк - команде №2. Каждая строка будет содержать имя игрока и его вес, разделенные пробелом.
Остальные ответы
Похожие вопросы