Задача. Получить все возможные подстроки из заданной строки.
Пусть дана строка s. Запустим внешний цикл с счетчиком i от 0 индекса строки до конца строки, а в нем цикл по счетчику j от значения i до конца строки. Получим подстроку срезом s[i: j+1].
s = 'Риса'
for i in range(len(s)):
for j in range(i,len(s)):
print(s[i:j+1])
Результат запуска программы
Если необходимо обработать по пути следования во внутреннем цикле текущую подстроку, то к символу s[j] нужно задать вопрос.
Пример задачи. Найти подстроку наибольшей длины, состоящую только из цифр.
s = '1707Риса119'
m = 0
for i in range(len(s)):
k = 0 #счетчик цифр текущей подстроки
for j in range(i,len(s)):
if s[j]>='0' and s[j]<='9':
k+=1
if k == len(s[i:j+1]): #счетчик цифр равен длине текущей подстроки
#print(s[i:j+1])
m = max(m,len(s[i:j+1]))
print(m)
Ответ: 4
Комментариев нет:
Отправить комментарий