繁体   English   中英

根据给定的字符串和出现次数在字符串中重复字符

[英]Repeated characters in string according to a given string and number of occurence

我将举例说明代码需要返回的内容。
我有字符串"abccdddefggg"和一个整数k

对于k=3 ,输出是“长度为 3,找到子串 ddd”。
对于k=1 ,输出是:“对于长度 1,找到子串 a”。
对于k=2 ,输出为:“长度为 2,找到子串 cc”。

假设k=9并且没有长度为 9 的子字符串,输出:“我找不到”。

我尝试了很多代码,但我什至没有接近。

*仅使用 ifs、whiles、fors、lens,仅此而已。 pyhton 3.7 中的基本代码。

n= len(my_string)
i=0
for letter in range(n):
    if my_string[i]= K*(my_string[i])
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")

这是一个小示例函数,可以帮助您朝着正确的方向前进:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM