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

Помогите срочно!! пайтон задача

- Ученик (160), открыт 1 неделю назад
Люди посылали целые флотилии звездолетов воевать или торговать в самые дальние концы Галактики. Однако чтобы добраться хотя бы до ближайшего «куда-угодно», обыкновенно требовались тысячи лет. К моменту, когда посланные корабли прибывали к месту назначения, кто-то, как правило, уже успевал изобрести новые способы межзвездного сообщения через гиперпространство, поэтому о битвах, на которые посылали флотилии субсветовых кораблей, позаботились веками раньше, чем эти флотилии прибыли на место.

Напишите функцию, считающую количество таких гиперпереходов для каждого аргумента.

Функция late() принимает произвольное число строк и именованный аргумент hyper со значением по умолчанию 3.

Функция должна вернуть словарь, каждый ключ которого – целое число – сколько раз значение аргумента hyper укладывается в длину строки очередного аргумента, а значение – список слов с таким числом. Список должен быть упорядочен по алфавиту (лексикографически).

Примечание
Форматирование вывода система производит автоматически. Целочисленные ключи сравниваются в строковом представлении.
1 ответ
anastasia1991 Профи (809) 1 неделю назад
 def late(*args, hyper=3): 
result = {}

for arg in args:
length = len(arg)
count = length // hyper

if count in result:
result[count].append(arg)
result[count].sort() # Сортировка списка по алфавиту
else:
result[count] = [arg]

return result

# Пример использования
args = ["galaxy", "hyperdrive", "spaceship", "alien", "star", "planet"]
result = late(*args)
print(result)
Похожие вопросы