【发布时间】:2020-07-13 21:14:07
【问题描述】:
我正在尝试创建一个将文本转换为猪拉丁语的函数:简单的文本转换,它修改每个单词,将第一个字符移动到末尾并将“ay”附加到末尾。但我得到的只是一个空列表。有什么建议吗?
def pig_latin(text):
say = ""
words = text.split()
for word in words:
endString = str(word[1]).upper()+str(word[2:])
them = endString, str(word[0:1]).lower(), 'ay'
word = ''.join(them)
return word
print(pig_latin("hello how are you")) # Should be "ellohay owhay reaay ouyay"
print(pig_latin("programming in python is fun")) # Should be "rogrammingpay niay ythonpay siay unfay"
【问题讨论】:
-
您要返回单词而不是单词吗?无论如何它可能会破裂
-
为什么要拆分
say而不是text? -
我不确定我是否理解这个问题。如果我返回 word 我得到一个错误:第 13 行错误:print(pig_latin("hello how are you")) # 应该是 "ellohay owhay reaay ouyay" 第 11 行错误:返回 word UnboundLocalError: local variable 'word' referenced分配前
-
在我看来,您可能在第三行拆分了错误的字符串。您不是打算将字符串变量“文本”拆分为“单词”,而不是空字符串“说”吗?
-
@emremrah 因为说是我要拆分的字符串不是吗?如果我拆分文本,我会得到:你很有趣