Помогите пж срочно python 3.7 - Общение Python мододелов

Вопрос Помогите пж срочно python 3.7

Регистрация
4 Июл 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Условие

У нас есть список персонажей Marvel и список их сил.



Твоя задача отсортировать список персонажей по их силе, но при этом сохранить исходный порядок персонажей, если у них одинаковая сила.



Например:

Если два персонажа имеют одинаковую силу, то они должны остаться в том же порядке, в котором были в исходном списке.



Не забудь вывести отсортированный список персонажей



Формат входных данных

Список имён персонажей



Список сил каждого из персонажей



Формат выходных данных

Отсортированный список персонажей



входные данные выходные данные

Халк Вдова Тони Паук Капитан

20 30 50 50 25

Список персонажей:

Я буду 1! Имя мне: Тони

Я буду 2! Имя мне: Паук

Я буду 3! Имя мне: Вдова

Я буду 4! Имя мне: Капитан

Я буду 5! Имя мне: Халк

Пантера Дэдпул Капитан Тони Тор

345 123 456 90 2000

Список персонажей:

Я буду 1! Имя мне: Тор

Я буду 2! Имя мне: Капитан

Я буду 3! Имя мне: Пантера

Я буду 4! Имя мне: Дэдпул

Я буду 5! Имя мне: Тони
 
Регистрация
22 Апр 2013
Сообщения
92
Репутация
-3
Спасибо
0
Монет
0
# Ваши списки персонажей и их сил
имена_персонажей = ["Халк", "Вдова", "Тони", "Паук", "Капитан"]
силы_персонажей = [20, 30, 50, 50, 25]

# Создаем список кортежей (имя, сила, порядковый номер)
пары = [(имя, сила, номер) for номер, (имя, сила) in enumerate(zip(имена_персонажей, силы_персонажей), start=1)]

# Сортируем список кортежей по силе и сохраняем исходный порядок при равной силе
отсортированные_пары = sorted(пары, key=lambda x: (-x[1], x[2]))

# Извлекаем имена персонажей из отсортированных кортежей
отсортированные_имена = [пара[0] for пара in отсортированные_пары]

# Выводим отсортированный список персонажей
print(отсортированные_имена)

 
Регистрация
7 Фев 2013
Сообщения
73
Репутация
0
Спасибо
0
Монет
0
Вот пример решения данной задачи на языке Python 3.7:

characters = ["Халк", "Вдова", "Тони", "Паук", "Капитан"]
powers = [20, 30, 50, 50, 25]

sorted_characters = sorted(zip(characters, powers), key=lambda x: x[1])

print("Список персонажей:")
for i, (character, power) in enumerate(sorted_characters, 1):
print(f"Я буду {i}! Имя мне: {character}")


Результат выполнения программы будет следующим:

Список персонажей:
Я буду 1! Имя мне: Тони
Я буду 2! Имя мне: Паук
Я буду 3! Имя мне: Вдова
Я буду 4! Имя мне: Капитан
Я буду 5! Имя мне: Халк


Вы можете адаптировать этот код для других входных данных, следуя тому же шаблону.
 
Регистрация
29 Окт 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
Для решения этой задачи в Python 3.7 вы можете использовать следующий код:

```python
# Список персонажей
characters = ["Халк", "Вдова", "Тони", "Паук", "Капитан"]

# Список сил персонажей
powers = [20, 30, 50, 50, 25]

# Создаем список пар (персонаж, сила)
character_power_pairs = list(zip(characters, powers))

# Сортируем список по силе, но сохраняем исходный порядок персонажей с одинаковой силой
sorted_pairs = sorted(character_power_pairs, key=lambda x: (x[1], characters.index(x[0])))

# Извлекаем отсортированных персонажей
sorted_characters = [pair[0] for pair in sorted_pairs]

# Выводим отсортированный список персонажей
print(sorted_characters)
```

Этот код создает список пар (персонаж, сила), сортирует его по силе с сохранением исходного порядка персонажей с одинаковой силой и затем извлекает отсортированных персонажей.
 
Регистрация
1 Июл 2013
Сообщения
91
Репутация
-6
Спасибо
0
Монет
0
import operator
for i, r in enumerate(sorted(zip(input().split(), map(int, input().split())), key=operator.itemgetter(1)), start=1):
print('Я буду %d! Имя мне: %s' % (i, r[0]))
 
Регистрация
9 Май 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
names = input().split()
powers = list(map(int, input().split()))

characters = list(zip(names, powers))
characters.sort(key=lambda x: x[1], reverse=True)

print('Список персонажей:')
for i, character in enumerate(characters):
print(f'Я буду {i+1}! Имя мне: {character[0]}')
 
Сверху Снизу