【发布时间】:2017-11-17 01:22:51
【问题描述】:
在获得正确结果时遇到一些问题。我试图通过递归传递一个单词元组和一个单词的项目。该方法应返回减去项目的元组。但是我收到一个错误,上面写着“必须是 str,而不是元组”。这是我到目前为止所拥有的。提前致谢。
def filter_sequence(seq, item):
try:
if not seq:
return ()
elif item is seq[0]:
return filter_sequence(seq[1:], item)
else:
return seq[0] + filter_sequence(seq[1:], item)
except TypeError as e:
print(e)
示例:
如果我打电话给filter_sequence(("jelly","butter", "mustard"), 'butter')
我应该收到("jelly", "mustard")的元组
我试图将最后一个递归调用包装在 str() 中,但后来我只得到了一个字符串。我必须将其分解并格式化,这不是我想要做的。
我应该提一下,我的目标是通过使用内置解决方案(如 for 循环、while 循环、if x in y... 等)来实现此结果。
【问题讨论】: