试图找出一个字符是否连续出现在一个字符串中

时间:2015-11-15 16:56:27

标签: python

简单的脚本,以确定第二个争论是否在第一个争论中连续出现3次。我能够找到第二个争论是否在第一次以及有多少时间等,但我怎么看它是否连续出现3次?

#!/usr/bin/python

import string

def three_consec(s1,s2) :


    for i in s1 : 
        total = s1.count(s2)
        if total > 2:
            return "True"   

print three_consec("ABABA","A")

1 个答案:

答案 0 :(得分:2)

无论您的职位total = s1.count(s2)是什么,

s2都会在s1中显示i次出现次数。

相反,只需遍历字符串,并在看到字符s2时继续计数:

def three_consec (string, character):
    found = 0
    for c in string:
        if c == character:
            found += 1
        else:
            found = 0

        if found > 2:
            return True

    return False

或者,您也可以反过来做,并查看字符串中是否出现“三次字符”:

def three_consec (string, character):
    return (character * 3) in string

这使用了一个功能,您可以将一个字符串乘以一个数字来重复该字符串(例如'A' * 3将为您提供'AAA')并且可以使用in运算符来检查字符串中是否存在子字符串。