2017-12-15 10 views
1

この宿題に問題があります。 文字列中の連続する「特殊記号」の最大数を返す

def symbol_count(s:str): -> int 
    """Return the largest number of consecutive "special symbols" in the 
    string s. 
    >>> symbol_count(’c0mput3r’) 
    0 
    >>> symbol_count(’H! [here’) 
    1 
    >>> symbol_count(’h3!!&o [email protected]#’) 
    3 
    """ 
    lst = [] 
    count = 0 
    for i in range(len(s)-1): 
     if s[i] in SPECIAL_SYMBOLS: 
      count +=1 
      if s[i+1] not in SPECIAL_SYMBOLS: 
       lst.append(count) 
       count = 0 
      else: 
       count += 1 
    if lst == []: 
     return 0 
    return max(lst) 

SPECIAL_SYMBOLS = '[email protected]#$%^&*()_+=[]?/'

はしかし、最後の例のために私は私のカウントは、これがそうであった、なぜ私が思っていた0に再度初期化されていない推測イム5の代わりに、3を得ます。お手伝いありがとう。

答えて

3

あなたの問題はここにある:

else: 
    count += 1 

それは二重の連続した特殊文字を数え終わります。これらの行を両方とも削除してください。

+0

ありがとうございました!本当にそこに私を救った。 – DWCY

関連する問題