【发布时间】:2015-10-08 11:06:37
【问题描述】:
vowlist=['a','e','i','o','u']
def piglatin(s):
if len(s)==1:
if s[0] in vowlist:
return s[0]+'way'
else:
return s[0]+'ay'
elif s[0]==' '*len(s):
return ' '
elif len(s)>1:
if s[0] in vowlist or (s[0]=='y' and s[1] not in vowlist):
return s[0:]+'way'
else:
return new(s)
def new(s):
global str
if s[0] not in vowlist:
str=s[0]+new(s[1:])
else:
return s[len(str):]+str[0:]+'ay'
print piglatin('school')
print piglatin('yttribium')
print piglatin('yolo')
这是我写的代码。它应该输出:
oolschay
yttribiumway
oloyay
但它给出了错误object of type 'type' has no len()这是为什么?
【问题讨论】:
-
欢迎来到 Stack Overflow。以后,请直接将您的代码发布到问题中(您可以使用 CMD-K 格式化),而不是像
CoderPad这样的第三方网站。您还应该使用编程语言(在本例中为 Python)对其进行标记。我已经编辑了您的问题以解决它,但这将使您将来更有可能得到答案 -
你需要定义一个len函数。参考[这里][1] [1]:stackoverflow.com/questions/27089682/…
-
以后,给出完整的调试信息(例如错误发生在哪一行)。