看代码注释
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)



京公网安备 11010502036488号