![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
![]()
Тогда я не понимаю проблемы. Только !слово+! является заменой, а !слово! не является?
Я думал, что findall и sub будут заметно дольше, чем split и join, но разница очень маленькая. Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#22 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,065
|
![]()
насколько удобно этим пользоваться, учитывая, что это:
>> Сдвиг вправо Сдвигает биты числа вправо на заданное число позиций. 11 >> 1 даст 5. В двоичном виде 11 представляется как 1011, что будучи смещённым на 1 бит вправо, даёт 101, а это, в свою очередь, не что иное как десятичное 5 понятно, что это уже наверное на подсознательном уровне... ?? |
![]() |
![]() |
![]() |
#23 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
![]()
Ну да, в си привык к битовым операциям, поэтому удобнее. На самом деле всегда есть, что улучшить. Можно сделать код более лаконичным и коротким, сократить время выполнения, минимизировать затрачиваемую память. Например, четыре чуть отличных реализации:
Код:
Цитата:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
|
![]() |
![]() |
![]() |
#24 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,065
|
![]() |
![]() |
![]() |
![]() |
#25 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,065
|
![]()
я в Вашу функцию variants так толком и не вник, как подправить, чтобы не было ошибки
prev = variants(n - 1) [Previous line repeated 995 more times] RecursionError: maximum recursion depth exceeded это когда нет замен вообще и до строки кода которая предупреждает об этом код не доходит, так как ошибка возникает раньше, спс |
![]() |
![]() |
![]() |
#26 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
![]()
Может быть лучше сначала проверять количество замен, а потом уже вызывать variants? Так как она работает только с положительным количеством замен. Можно изменить mem = {1: [1], 0: [], -1: []}. Можно добавить в саму функцию:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#27 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,065
|
![]()
OK, спасибо
|
![]() |
![]() |
![]() |
#28 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,065
|
![]()
BDA, в курсе про import itertools
у Вас функция Код:
Код:
Код:
|
![]() |
![]() |
![]() |
#29 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,322
|
![]()
Более быстрый вариант получился такой:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() Последний раз редактировалось BDA; 04.03.2021 в 00:59. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывести слова предложения в таком порядке, чтобы последняя буква каждого слова совпадала с первой буквой следующего слова ( java ) | huhu | Помощь студентам | 0 | 06.04.2012 19:42 |
Обязательные и необязательные вопросы | Rusl92 | PHP | 2 | 27.06.2011 14:04 |
Необязательные параметры в процедуре. | Alex Cones | Общие вопросы Delphi | 19 | 30.07.2010 20:57 |
Разбить текст на слова и произвести поиск каждого слова по текстовому массиву | Burning_brook | Microsoft Office Excel | 2 | 22.05.2010 01:56 |
Необязательные параметры метода -как? | boris-blade | Общие вопросы .NET | 2 | 24.03.2010 03:42 |