2017-01-20 26 views
1
message="this is fun" 

def translate(robber): 
    consonants=['bcdfghjklmnpqrstvwxz'] 
    for letters in robber: 
     if letters in consonants: 
      return (letters + 'o' + letters) 
      continue 
     else: 
      return translate 

print translate(message) 

文字列を受け取り強盗の言語に翻訳するネストループを作成しようとしています。私のコードで間違ったことを誰かが知っていますか?String Robberの言語を翻訳する

答えて

1

あなたは新しい強盗の名前を構築し、それを返す必要があります。

def translate(robber): 
    consonants = 'bcdfghjklmnpqrstvwxz' 
    new_robber = '' 
    for letter in robber: 
     if letter in consonants: 
      new_robber += letter + 'o' + letter 
     else: 
      new_robber += letter 
    return new_robber 

そして実際に、ネストされたループが含まれています(ただし、非常に良いのpythonではありません)ボーナス答え:

def translate(robber): 
    consonants = 'bcdfghjklmnpqrstvwxz' 
    new_robber = '' 
    for letter in robber: 
     for consonant in consonants: 
      if consonant == letter: 
       letter += 'o' + letter 
       break 
     new_robber += letter 
    return new_robber 
1

Python用の印刷を使用する... 012

def translate(s): 
    consonants = 'bcdfghjklmnpqrstvwxz' 
    return ''.join(x + 'o' + x if x in consonants else x for x in s) 

print(translate("robbers language")) 
関連する問題