因为我只是一个初学者,所以我用 Python 3.5 做了一个小型的单词 Pig Latin 翻译器。我有我的粗略代码可以工作,但是我真的很想知道您对如何使它更紧凑、pythonic 和“优雅”(即专业)的意见。感谢您的帮助,谢谢!
#Converts a word into pig latin, needs to be cleaned up
def pig_latin(word):
word = list(word)
first_letter = word[0]
del word[0]
word.insert(len(word),first_letter)
word.insert(len(word),'ay')
print(''.join(word))
请您参考如下方法:
您不需要将字符串转换为列表,对它做一些魔术并将其转换回来:如果您在字符串上应用 [1:],您会得到没有第一个字符串的字符串特点。所以你可以很容易地将它翻译成:
def pig_latin(word):
print('%s%say'%(word[1:],word[0]))
或等同于:
def pig_latin(word):
print('{}{}ay'.format(word[1:],word[0]))
这里我们使用字符串格式:所以我们用 word[1: ],第二个是 word[0],后跟 'ay'。
这会产生:
>>> pig_latin('foobar')
oobarfay
