python程序实现:a字符串里是否有至少连续3个字符串与b一个字符串里的相同

都说现在中国的ai也发展的怎么怎么好,于是我就测试了一个很小的问题:用python程序实现有2个字符串a,b,如果a字符串里有至少连续3个字符串与b一个字符串里的相同,则是真,a,b字符串长度都都不确定

用文心一言得出的代码如下:

def has_consecutive_triplets_with_other_string(s1, s2):
    # 获取s2中所有可能的子字符串
    substrings = [s2[i:j] for i in range(len(s2)) for j in range(i + 1, len(s2) + 1)]

    # 遍历s2的所有子字符串
    for substring in substrings:
        # 使用正则表达式查找s1中连续三个相同的子字符串
        pattern = rf"({re.escape(substring)}){{{3,}}}"
        if re.search(pattern, s1):
            return True

            # 如果没有找到符合条件的子字符串,返回False
    return False


# 示例
s1 = "hellohellohelloabcabc"
s2 = "abc"
s3 = "xyz"

print(has_consecutive_triplets_with_other_string(s1, s2))  # 输出: True
print(has_consecutive_triplets_with_other_string(s1, s3))  # 输出: False

看它一阵操作猛如虎,还有输出,结果却运行不了,自己加了import re还是不行,看代码,你说你都遍历了,直接判断不就行了,为什么要使用正则?算了试试智普清言:

def contains_substring(a, b):
# 遍历字符串b中的每个字符
for char_b in b:
# 检查char_b在a中是否连续出现至少3次
if char_b * 3 in a:
return True
return False

测试函数

test_a = "abcdeeeffg"
test_b = "ef"
contains_substring(test_a, test_b)

直接都没明白意思,直接给个白眼。

下面还是请我们真正的AI,CHATGPT:

def has_common_substring(a, b):
# Check for any common substring of length 3 or more
for i in range(len(a) - 2):
# Extract 3 consecutive characters from string 'a'
substring = a[i:i+3]
# Check if these 3 characters are in string 'b'
if substring in b:
return True
return False

# Example usage:
a = 'abc123'
b = '9abc456'
result = has_common_substring(a, b)
print(result) # Output would be True if there is a common substring of length 3 or more

完美,只要改你的字符串就行了,最后文心一言的只要稍微改下也可以用,自己试试吧?

未经允许不得转载:445IT之家 » python程序实现:a字符串里是否有至少连续3个字符串与b一个字符串里的相同

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏