字符串翻译强盗的语言

String Translate Robber's Language

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)

尝试制作一个嵌套循环,它接受一个字符串并将其翻译成强盗语言。有谁知道我的代码做错了什么?

你需要建立一个新的强盗名字然后return那:

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

使用打印 ... python 2.7

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

print(translate("robbers language"))