2015-11-15 15 views
0

簡單的腳本來查找第二個參數是否在第一個參數中連續出現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") 
+2

請正確縮進您的代碼 –

回答

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運算符可用於檢查字符串中是否存在子字符串。

+0

'(character * 3)in string'是一個不錯的解決方法 –

相關問題