Python3 创建基本功能 - 删除特定字符串/翻译
Posted
技术标签:
【中文标题】Python3 创建基本功能 - 删除特定字符串/翻译【英文标题】:Python3 Creating basic functions - Remove specific character strings/translating 【发布时间】:2017-03-01 06:02:54 【问题描述】:我在闲置的情况下玩 python3,在发现 Pig Latin 是什么之后,我正在尝试编写几个函数,并且对从哪里开始/我应该使用哪些 python 特定单词/函数感到困惑。
(i) 1 个参数 - 我正在尝试将单词从猪拉丁语翻译回英语。它总是以“ay”结尾并且只有一个连字符。本质上,我试图删除猪拉丁词末尾的连字符和“ay”。我相信我需要从找到连字符的位置开始。然后我希望它从字符串中提取 2 个子字符串:连字符之前的部分以及连字符和末尾的“ay”之间的部分。例如,当给定字符串“at-thay”时,两个子字符串是“at”和“th”。在此之后,我想组合这两个子字符串来创建英文单词。 (上面的例子会返回“that”)
(ii) 我想要一个函数,它接受一个参数,一个字符串,并找到该字符串中出现任何字符“aeiouAEIOU”的第一个位置。例如,给定字符串“is”,您的函数应该返回 0,给定字符串“Pig”,我希望函数返回 1。如果字符串中根本没有任何列出的元音,例如与字符串“shh”一样,函数应该返回字符串的长度,在本例中为 3。
(iii) 我想要一个函数来返回从英语到猪拉丁语的单个单词的翻译。翻译包括从第一个元音开始,然后是连字符,第一个元音之前的单词部分,以及字母“ay”。
我知道这是一项艰巨的任务,但任何对这 3 个方面的任何帮助都会有很大帮助!
【问题讨论】:
你能告诉我们你的尝试吗? #str -> str def unPigWord(word): """这个函数接受任何 Pig Latin 单词并以英语返回该单词。""" index = word.find("-") x = word[0: index] index = word[index: len(word)] 返回索引 【参考方案1】:你可以这样做:
def unPigWord( word ):
"""This function takes any Pig Latin word and returns that word in English."""
parts = word.split( "-" )
return parts[1][0: len(parts[1])-2] + parts[0]
def findVowel( word ):
for i, char in enumerate( word ):
if char in "aeiouAEIOU":
return i
return i + 1
def pigWord( word ):
fvi = findVowel( word )
return word[fvi:] + "-" + word[0:fvi] + "ay"
【讨论】:
以上是关于Python3 创建基本功能 - 删除特定字符串/翻译的主要内容,如果未能解决你的问题,请参考以下文章