#python #python-3.x #substring
#python #python-3.x #подстрока
Вопрос:
Вы должны посчитать, сколько подстрок данной строки начинается и заканчивается одной и той же буквой. Вы не можете использовать в своем коде следующее: for,while, sum,map,reduce,filter,import,eval,exec,complile, single
Мой код, но не работает должным образом:
def substringsV2(i,string,sub_list):
if i == len(string)-1:
return len(sub_list),sub_list
# return len(sub_list)
if string[:i 2][0] == string[:i 2][-1] and string[:i 2]not in sub_list:
substring = string[:i 2]
sub_list.append(substring)
if string[i:][0] == string[i:][-1] and string[i:] not in sub_list:
substring = string[i:]
sub_list.append(substring)
return substringsV2(i 1,string,sub_list)
def substrings(i,string,subs_list):
if i == len(string):
print(subs_list)
return substringsV2(0,string,subs_list)
if len(string[i]) == 1:
subs_list.append(string[i])
return substrings(i 1,string,subs_list)
s = 'aba'
if len(s) == 0:
print()
else:
print(substrings(0,s,[]))
Например, введите ‘aba’
Подстроки: a, b, a, ab, ba, aba ,
Вывод 4, потому что есть 4 подстроки, которые начинаются и заканчиваются одной и той же буквой
Комментарии:
1. Что выводит ваш код? Что он должен печатать? Что означает «не работает»?
2. Я добавил изображение в описания
3. Пожалуйста, не добавляйте изображение. Можете ли вы добавить (в виде текста) в вопрос, какой результат вы ожидаете от ввода
babab
? Можете ли вы также добавить, какой результат выдает ваш код?4. @RocketHazmat с помощью «babab» мой код возвращает 7, но должно быть 10.
5. @RocketHazmat б а б а б баб баб аба баб бабаб