Аватар для Lodhel
5 / 5 / 3
Регистрация: 13.01.2018
Сообщений: 45

Рекурсия

28.02.2018, 22:12. Показов 1162. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как этот цикл написать рекурсивно?
Python
1
2
3
4
5
6
7
8
9
10
11
12
import re
s = input()
a = input()
b = input()
set_status = 0
if a == b and a in s:
    print ("Impossible")
else:
    while s != re.sub(r"{}".format(a), b, s):
        set_status += 1
        s = re.sub(r"{}".format(a), b, s)
    print (set_status)
P.S. на степике по тайму не прохожу
Миниатюры
Рекурсия  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2018, 22:12
Ответы с готовыми решениями:

Рекурсия
Есть такой код def NOD(a,b): if (a==0) or (b==0): s = a+b print(a+b) '''Вывод 1''' ...

Функции и рекурсия
Даны четыре действительных числа: x1, y1, x2, y2. Напишите функцию distance(x1, y1, x2, y2), вычисляющая расстояние между точкой (x1,y1) и...

Рекурсия и return
Почему может не работать return? Если в функцию загоняю print(a), а затем просто вызываю функцию, все работает. Но если хочу из функции...

6
76 / 50 / 26
Регистрация: 22.02.2015
Сообщений: 306
28.02.2018, 22:50
re.sub(pattern, repl, string) - возвращает строку 'string', в которой все 'pattern' заменены 'repl'. Потому set_status будет либо 1, либо 0 и зачем цикл не ясно. Если нужно просто проверить наличие подстроки в строке то можно и in, а если подсчитать количество подстрок в строке, то юзабельно str.count.
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
01.03.2018, 01:43
Цитата Сообщение от DUMP Посмотреть сообщение
зачем цикл не ясно
Ну если замена идет с перекрытием, типа "()" -> "" для проверки правильности скобочной записи

Lodhel, почему Вы думаете, что с рекурсией будет быстрее? Рекурсия, как правило, медленнее итерации.

Добавлено через 2 минуты
Кстати, можно ускорить в 2 раза - просто сохранить результат замены вместо повторного вычисления
1
 Аватар для Lodhel
5 / 5 / 3
Регистрация: 13.01.2018
Сообщений: 45
01.03.2018, 21:10  [ТС]
Пробую таким образом все равно тайм лимит еррор.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
s = input()
a = input()
b = input()
s1 = s
answer = 0
while a in s1:
    s1 = s1.replace(a, b)
    if s1 == s:
        answer = 'Impossible'
        break
    else:
        answer += 1
print(answer)
0
76 / 50 / 26
Регистрация: 22.02.2015
Сообщений: 306
01.03.2018, 21:16
Lodhel, а можно на задачу линк или условие
0
 Аватар для Lodhel
5 / 5 / 3
Регистрация: 13.01.2018
Сообщений: 45
01.03.2018, 22:30  [ТС]
https://stepik.org/lesson/24469/step/6?course=Python-основы-и-применение&unit=6775
0
76 / 50 / 26
Регистрация: 22.02.2015
Сообщений: 306
01.03.2018, 22:44
подумайте и обработайте ситуацию
Python
1
if a in b and a in s:
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.03.2018, 22:44
Помогаю со студенческими работами здесь

Детали. Рекурсия
Помогите! Я решил четыре задачи, а пятую не могу. 5)Ограничение по времени работы программы: 2 секунды Некоторый завод умеет...

Рекурсия, количество символов
Задание: Алгоритм вычисления значения функции F(n), где n – натуральное число, задан следующими соотношениями: F(n) = n + 15, при n ≤ 5 ...

Анализатор формулы рекурсия
Дан некоторый текст, за которым следует точка (в сам текст точка не входит). Определить программно, является ли текст правильной записью ...

Рекурсия отрицательной степени
Задача звучит так: Дано действительное положительное число a и целоe число n. Вычислите an. Решение оформите в виде функции power(a,...

Рекурсия: генерация и перебор пароля из алфавита
Здравствуйте! Подскажите, пожалуйста, как этот кусок кода переписать в рекурсивную функцию? Этот код выполняет генерацию и перебор пароля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru