Повторяющиеся символы в строке в соответствии с заданной строкой и числом вхождений - PullRequest
0 голосов
/ 01 апреля 2020

Я приведу пример того, что код должен возвращать.
У меня есть строка "abccdddefggg" и целое число k.

Для k=3 вывод «для длины 3, найдена подстрока ddd».
Для k=1 выход: «для длины 1 найдена подстрока a».
Для k=2 вывод: «для длины 2 найдена подстрока cc».

Допустим, k=9 и нет подстроки длиной 9, вывод: «Я не смог найти».

Я пробовал много кодов, но я даже не близко.

* Использование только ifs, whiles, fors, lens, но это все. Базовый c код в pyhton 3.7.

n= len(my_string)
i=0
for letter in range(n):
    if my_string[i]= K*(my_string[i])

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Вот небольшая примерная функция, чтобы подтолкнуть вас в правильном направлении:

def find_sub(my_string, k):
    current, count = None, 0
    for char in my_string:
        if char == current:
            count += 1
        else:
            current, count = char, 1
        if count >= k:
            return k * char
    return None

>>> s = "abccdddefggg"
>>> find_sub(s, 1)
'a'
>>> find_sub(s, 2)
'cc'
>>> find_sub(s, 3)
'ddd'
>>> find_sub(s, 4)
None
0 голосов
/ 01 апреля 2020
string = "abccdddefggg"
k = 9

for i, char in enumerate(string):
    substring = char * k
    if string[i:i+k] == substring:
        print(f"for length {k}, found the substring {substring}")
        break
else:
    print("Could not find a match")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...