题解 | 命令行软件
命令行软件
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(" ")
查看2道真题和解析