List 涉及数字的猪拉丁语
我是计算机编程新手,我正在尝试编写一个程序,将每个单词的英语转换成拉丁语,将第一个字母移到单词的末尾,并添加“ay” 如果有一个数字,用2乘以4List 涉及数字的猪拉丁语,list,function,python-3.x,List,Function,Python 3.x,我是计算机编程新手,我正在尝试编写一个程序,将每个单词的英语转换成拉丁语,将第一个字母移到单词的末尾,并添加“ay” 如果有一个数字,用2乘以4 ex. John has 4 cats --> ndaay ashay 12 atscay) 我记下了第一个猪的拉丁语部分,但似乎不知道数字部分。我的代码访问一个文本文件,但这里有一个程序,将执行字符串。我应该在哪里安装数字功能 def pig_english(): letterlist = [i + i[0] for
ex. John has 4 cats --> ndaay ashay 12 atscay)
我记下了第一个猪的拉丁语部分,但似乎不知道数字部分。我的代码访问一个文本文件,但这里有一个程序,将执行字符串。我应该在哪里安装数字功能
def pig_english():
letterlist = [i + i[0] for i in read_script()]
ayList = [i + 'ay' for i in letterlist]
delaylist = [i[1:] for i in ayList]
print (delaylist)
您可以测试i.isdigit,然后将其转换为int,但在一个理解中完成这一切会更容易:
def pig_english(words):
ayList = [str(int(i)*2+4) if i.isdigit() else i[1:]+i[0]+"ay" for i in words]
print (ayList)
如果将操作拆分为多个理解,则需要防止INT:
def pig_english(words):
numberlist = [int(i)*2+4 if i.isdigit() else i for i in words]
letterlist = [i if isinstance(i, int) else i + i[0] for i in numberlist]
ayList = [i if isinstance(i, int) else i + 'ay' for i in letterlist]
delaylist = [str(i) if isinstance(i, int) else i[1:] for i in ayList]
print (delaylist)
>>> pig_english("John has 4 cats".split())
['ohnJay', 'ashay', '12', 'atscay']
约翰是怎样成为恩代的?打字错误?@逻辑,这显然不是一个打字错误。我认为你的字典错了。哈哈