Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для Lodhel
5 / 5 / 3
Регистрация: 13.01.2018
Сообщений: 45

Рекурсия

28.02.2018, 22:12. Показов 1151. Ответов 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 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru