Количество повторений в слове Python
Например для слова 'abab' количество повторений 3: 'a' 'b' 'ab' , но
код который я написал ищет повторы только по буквам. Как сделать так чтобы он искал все повторы в строке
a=input()
m=[]
def duplicate_count(text):
d=len(text)
s=0
for h in range(d):
f=[]
for i in range(h):
f.append(text[i])
if text[i].lower() in text[i+1:].lower() and text[i].lower() not in m:
m.append(text[i].lower())
s+=1
return s
print(duplicate_count(a))
Ответы (1 шт):
Автор решения: Alioshca Z
→ Ссылка
Можно так:
a = input('Введите строку: ')
def duplicate_count(text):
d = {}
all_subs = [text[i: y] for i in range(len(text)) for y in range(i + 1, len(text) + 1)]
for el in all_subs:
if el not in d and text.count(el) > 1:
d[el] = text.count(el)
return len(d) #замените return len(d) на return d, чтобы посмотреть словарь из повторов
print(duplicate_count(a))