2016-12-17 20 views
0

概要:手先ゲームサブストリングオフ対1

問題チュートリアル:HackerRank minion game practice tutorial

Input: BAANANAS 

Expected output: Kevin 19 

My output: Kevin 18 

あなたが見ることができるように、私はオフずつだけど、私は本当に理解することはできません正確にどこにエラーがあるのでしょうか。ここで

コードです:コメントアウト

def minion_game(string): 
# your code goes here 

vowels = ('A', 'E', 'I', 'O', 'U') 

def kevin(string): 
    kevin_list = [] 
    for i in range(len(string)): 
     if string[i] in vowels: 
      return len(string) - i 
      #Find every possible combination beginning with that letter 
      for j in range(len(string)): 


       #Gets rid of white-space characters...for some reason.... 
       if j >= i and string[i:j+1] not in kevin_list: 


        kevin_list.append(string[i:j+1]) 
    return kevin_list 

def stuart(string): 
    stuart_list = [] 
    for i in range(len(string)): 
     if string[i] not in vowels: 

      #Find every possible combination beginning with that letter 
      for j in range(len(string)): 

       #Gets rid of white-space characters...for some reason.... 
       if j >= i and string[i:j+1] not in stuart_list: 
        stuart_list.append(string[i:j+1]) 
    return stuart_list 


def points(words): 
    points_list = [] 

    for substring in words: 
     points_list.append(string.count(substring)) 


    return sum(points_list) 



def calculateWinner(player1, score1, player2, score2): 
    if score1 > score2: 
     return '%s %d' %(player1, score1) 
    elif score2 > score1: 
     return '%s %d' %(player2, score2) 
    else: 
     return 'Draw' 

#print(kevin(string)) 
#print("points:", points(kevin(string))) 
print(calculateWinner("Stuart", points(stuart(string)), "Kevin", points(kevin(string)))) 

何がおそらく(コメントは自分自身を除く)のデバッグのために使用された

(注:関数がmain()の内側と呼ばれ、それは、ドンと呼ばれていますので、これは単なる定義に過ぎない)

答えて

0

Nevermind。 BAANANASの.count()メソッドは、重複する場合、部分文字列 "ANA"を2回カウントしません。 次のようになります。 BA [ANA] NAS vs. BAAN [ANA] S これらのうち1つのみをカウントし、両方をカウントしません。

関連する問題