这是我第二次就 MIT edX 课程的任务向你寻求帮助。
任务是:如果一个单词按顺序包含字母 e、r、i 和 c,则认为它是 erician。例如,我们会说以下单词是 erician:“meritocracy”、“generic”、“derrick”、“euphoric”、“heretic”和“electric”,因为它们每个都包含这四个字母的正确顺序。“大米”这个词不是erician,因为四个字母出现的顺序错误。
在这个问题中,我们希望您编写一个更通用的函数,称为 x_ian(x, word),如果 x 的所有字母以与它们在 x 中出现的顺序相同的顺序包含在 word 中,则返回 True。
这个函数必须是递归的!您可能不会使用循环(for 或 while)来解决此问题。
这是我的函数代码:
if x=="":
return True
if len(x)>len(word):
return False
if x==word:
return True
elif (x[0]==word[0]):
x_ian(x[1:],word[1:])
else:
x_ian(x,word[1:])
我目前不知道为什么我的函数返回 None,而不是 True 或 False。我已经在 IDLE 中使用了调试器,它使用 ' main '.x_ian().line49: return True 完成了执行
然而该函数返回无。
将不胜感激任何帮助。