![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
У меня просто уже ни одной умной мысли в голове, как это правильно составить. Суть такова, что сперва в список помещаются строки, а затем сортируются в словаре по длине строки. Строки длинной в 5 символов в одной группе, строки в 10 символов в другой группе (на самом деле кол-во знаков в строке может быть любым). Мне честно говоря, не совсем понятен алгоритм, но ответ в калькуляторе Питон дожен быть таким:
{'h': 5, 'j': 10, 'v': 20} То есть значением будет длина строки... Я написала пока так:
Что дальше делать? Это сообщение отредактировал(а) Kuvaldis - 4.2.2007, 00:49 |
|||
|
||||
| V.A.KeRneL |
|
||||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 7 Всего: 14 |
Меня вот лично такое описание задачи чё-то тока запутало!.. (Препод Paranorma'ы, притча во языцах, очевидно, постарался
Это понятно, но вот что означают 'h', 'j' и 'v'? Первые символы строк, самые частые симолы в строках, что-то другое?.. ========================================================================================== Могу написать сортировку слов по длине без использования словаря, с использованием стандартной функции sort():
Закомментарен ("""...""") способ более эффективный для сортировки больших списков, для сортировки которых требуется большое количество сравнений. Его экономичность заключается в однократном вычислении длины для каждого из слов. ========================================================================================== Можно и самому сортировку написать, реализующую один из стандартных методов (пузырьком, вставками, слиянием, выбором, пирамидальная, быстрая)... В принципе, можно и гномьей, она прикольная! ========================================================================================== Но если надо именно при помощи словаря, то необходимо более подробно и, главное, понятно расписать задание. Это сообщение отредактировал(а) V.A.KeRneL - 4.2.2007, 12:17 -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
||||
|
|||||
| Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Спасибо большое, меня препод малость ввел в заблуждение. Препод просто не так давно занялся преподаванием, а потому, не имея опыта, иногда нечетко формулирует мысли. Я сегодня у него уточнила.
Должно выглядеть так: Введенный список: ["123", "45" "abcd", "xy", "klm"] Результат: { 2:["45", "xy"], 3:["123", "klm"], 4:["abcd"] } Ключ - длинна строки, значение - список слов данной длинны. Это сообщение отредактировал(а) Paranorma - 4.2.2007, 14:50 |
|||
|
||||
| V.A.KeRneL |
|
|||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 7 Всего: 14 |
Нда, твоего бы препода...
З.Ы. Paranorma, если ты таки хочешь когда-нибудь как-нибудь научиться хотя бы кодить (программирование — это не только кодинг), то учись юзать встроенную справку и google.com, а если нет, то так держать. Это сообщение отредактировал(а) V.A.KeRneL - 4.2.2007, 17:42 -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
|||
|
||||
| Strannik |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.1.2007 Репутация: 1 Всего: 2 |
Это что за сортировка такая? Я тоже знаю прикольную сортировку, за О(N!). |
|||
|
||||
| Void |
|
||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 6 Всего: 173 |
=>
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||
|
|||||
| V.A.KeRneL |
|
||||||||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 7 Всего: 14 |
Не, гномья не крэйзи, она нормальная. Довольно новая просто, не классическая. Она работает за время O(n^2), на практике обычно немного медленнее, чем пузырьковая, хотя это уже зависит от особенностей архитектуры системы и реализации алгоритма. Отличается исключительной простотой и лаконичностью кода:
Автор небезосновательно называет своё творение самым простым алгоритмом сортировки. 1-ым делом настоящие «пилоты» смотрят в Гугл )) ... Если он ссылается на Википедию, то в неё сенепременнейше... От неё по ссылочкам... Находим страницу изобретателя, нидерландца Dick Grune (она же была первой ссылкой в Гугле) National Institute of Standards and Technology. Можно заглянуть и сюда, убедиться, что она стандартизирована )) N^2 sort comparison
Да, и я знаю такие «алгоритмы». Но вот это уже, по-моему, действительно, глупость, потому что верхний предел сложности не ограничен и при желании можно придумывать всё более сложные алгоритмы, например за время N^N^...^N (N paз), или (((N!)!)...)!, далее можно комбинировать/композиционировать эти функции, и т.д. Это сообщение отредактировал(а) V.A.KeRneL - 4.2.2007, 18:55 -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
||||||||
|
|||||||||
| Paranorma |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Всем спасибо! Блин! Нет, я все понимаю, конечно, просто, пожалуйста, помогите на начальных этапах. Есть пара вопросов: Во-первых, что значит эта строка b = " ".join(a).split() Конкретно, что значит join? Я тут буквально одну строку в программе поправила:
И еще один вопрос: как сделать, что б и пробел учитывался как символ строки? Вот пример: Список: ["12 3", "4 5", "abcd", "xy", "klm"] Результат: {2:["xy"], 3:["4 5", "klm"], 4:["12 3", "abcd"] } Еще раз прошу меня простить и заранее всем спасибо! |
||||||
|
|||||||
| Strannik |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.1.2007 Репутация: 1 Всего: 2 |
V.A.KeRnel, эту сортировку я знал, только не знал что она гномья. А так, пузырёк - 4 строчки да и вообще я почти всегда кучу пишу, для тренировки.
|
|||
|
||||
| V.A.KeRneL |
|
||||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 7 Всего: 14 |
Пожалуйста. Крута-а-а!.. Научи! А то я мало, что знаю и понимаю. Чуть перефразируя известное изречение: «Единиственное, что я знаю, это то, что я нихрена не знаю. ))» ОК. Тока заруби на носике, что эти пресловутые «начальные этапы» не могут длиться вечно. На практике они не должны затягиваться более, чем на полгода (в крайнем случае год). Далее надо уметь пользоваться документацией (естественно, большая и самая ценная её часть представлена на английском языке — современном международном и программистском профессиональном языке) и поисковиками.
Вот тут и надо воспользоваться Гуглом, потыкать по ссылочкам с 1-ой страницы, среди них найти что-нибудь вроде этого: split and join Example from a Well House Consultants training course SOURCE CODE
Если непонятно, то скажу, что метод sep.join(list) возвращает строку из списка слов `list', сцеплённого разделителями `sep', а метод str.split([sep]), напротив, разбивает строку `str' [по разделителю `sep'] на слова (строки). Так как сделат-то нужно, чтобы в списке были не слова, как в предыдущей твоей задаче, а полные введённые пользователем строки? Если так, то строки ``b = " ".join(a).split()'', как раз, и не надо, а нужно проходиться циклом по списку `a': ``for word in a: '' Обращайся. Это сообщение отредактировал(а) V.A.KeRneL - 5.2.2007, 09:36 -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
||||
|
|||||
| Strannik |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 154 Регистрация: 25.1.2007 Репутация: 1 Всего: 2 |
Хи, а у меня начальный этап в изучении С++ продлился 3,5дня, т.к. вчера я уже участвовал в SRM на TopCoder. Для того что бы выучить язык(программирования) нужно кроме литературы и гугла как можно больше говорить(программировать) на нём. Добавлено @ 23:35 V.A.KeRnel, Интересно, а почему все темы Paranorma'ы плавно переходят в наш с тобой оффтоп??? Это сообщение отредактировал(а) Strannik - 4.2.2007, 23:40 |
|||
|
||||
| Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Значит вы любители оффтопа
|
|||
|
||||
| Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Please, help! Помогите это поправить. У меня на печать выводиться только последняя введенная строка, вместо всех введенных. Да тут именно введенные строки уже, а не слова, как в прошлый раз.
|
|||
|
||||
| V.A.KeRneL |
|
|||
![]() Vadim A. Kazantsev ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 3.12.2006 Где: Moscow, Russia Репутация: 7 Всего: 14 |
Так что ли? (Строки должны все выводиться нормально...) Это сообщение отредактировал(а) V.A.KeRneL - 5.2.2007, 15:17 -------------------- «C'est un pense-creux d'ici. C'est le meilleur et le plus irascible homme du monde...» © Ф.М. Достоевский, «Бесы» ---/)/)---(\.../)---(\(\ --(':'=)---(=';'=)---(=':') (")(")..)-(").--.(")-(..(")(") |
|||
|
||||
| Paranorma |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 1.1.2007 Репутация: 1 Всего: 1 |
Нижайший всем поклон
|
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |