尝试使用递归将文件路径拆分为元组

灾难性的

我正在尝试进行递归练习,但遇到了问题。我需要将文件地址拆分为一个元组,最后在一个元组中得到一个元组。以下是我想出的内容,当我对其进行测试时,它将返回以下内容:

输入路径:C:/用户:/ Games

('C:',('Users:','Games'))

我想要:(“ C:”,“用户:”,“游戏”)

def split_path(s):
    path = ()

        if s.find("/") == -1:
        path= (s)
    else:
        location = s.find("/")
        path += (s[:location],)
        path += (split_path(s[location+1:]),)
return path
本杰明·里格斯

你真的很亲近 仔细看看最后一行:

path += (split_path(s[location+1:]),)

您正在将函数的返回值(一个元组)放入另一个元组中。

编辑添加:我刚刚注意到一个非常细微的错误,它可能导致您将返回值放入元组:

path = (s)

应该

path = (s,)

这就是我的写法:

def split_path(s):
    index = s.find('/')
    if index == -1:
        return (s,)
    else:
        return (s[:index],) + split_path(s[index+1:])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档