python - 将字符串翻译成 "robber' 的语言”

标签 python string function

我正在为即将到来的实际编程测试练习,所以一直在网上浏览示例并遇到了这个

“编写一个函数 translate() 将文本翻译成“rövarspråket”(瑞典语“强盗的语言”)。也就是说,将每个辅音加倍并在其间放置一个“o”。例如,translate( “这很有趣”)应该返回字符串“tothohisos isos fofunon”。

我不知道为什么,但我为此苦苦挣扎。如此简单,但我却遇到了困难。这是我试过的

def translate(n):
    consonant="bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ"
    for letters in n:
        if letters in consonant:
            return (letters+"O"+letters)
        else:
            return("Vowel")

如果我的编码 super 业余,我很抱歉。只是想学习:/

最佳答案

consonants = set("bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ")
original_string = "this is fun"
translated = ''.join(map(lambda x: x+"0"+x if x in consonants else x,original_string)
print translated

是我可能会这样做的一种方式......这只是将每个字母映射到 letter+0+letter 如果它是辅音然后加入结果列表

关于python - 将字符串翻译成 "robber' 的语言”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23638949/

相关文章:

c++ - 如何获取 C++ bind(...) 表达式的签名

python - Pygame - 我如何 blit 图像但改变它的颜色?

返回字符串的PHP函数

c++ - 将整数从 Processing 发送到 Arduino,无法读取字节

python - .join() 在 python 中给出返回列表

python - 如何使用 Python(或 Scapy)生成随机 IPv6 地址?

使用递归函数确定数字是否为素数的 C 程序

python - 为什么在尝试使用 "List index out of range"在列表中添加连续数字时得到 "for i in list"?

python - 使用moviepy使用ffmpeg阅读视频

python - Pandas 在设置输出目录时引发错误