题解 | 命令行软件

命令行软件

https://www.nowcoder.com/practice/1b4bd0c73cff4bb38f20f950ad014249

另一种基于python的思路

m = int(input())

root = {"usr": {}}
cur_ls = ["usr"]

for _ in range(m):
    command = input().split(maxsplit=1)
    if command[0] == "mkdir":
        name = command[1]
        exec("root" + "".join(f"['{n}']" for n in cur_ls) + f".setdefault(name, {{}})")
    if command[0] == "cd":
        if command[1] == "..":
            cur_ls.pop()
        else:
            name = command[1]
            cur_ls.append(name)
    if command[0] == "ls":
        exec("cur = root" + "".join(f"['{n}']" for n in cur_ls))
        if cur:
            cur = sorted(cur)
            print(*cur)
        else:
            print(" ")

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务