看代码注释
s = input() commands, stack, mark = [], '', 0#存储命令,存储当前字符串的栈,当前标记引号数量 for c in s:#遍历整个字符串 if c==' ': if len(stack)!=0 and mark==0:#当前空字符是分隔符(不是引号内的空字符) commands.append(stack) stack = '' elif mark==1:#空字符是引号内的空字符,前面有一个引号 stack += c else:#引号后的空字符 continue elif c=='"': if mark==0:#当前引号是开始引号 mark += 1 else:#当前引号是结尾引号 commands.append(stack) stack = '' mark = 0 else:#当前字符不是分隔符 stack += c if len(stack)!=0:#如果栈里还有元素则加上 commands.append(stack) print(len(commands))#输出 for x in commands: print(x)