拿到题目,第一考虑就是将输入字串按空格拆分,但是双引号中的空格又不能拆分,那么是否可以考虑将双引号中的空格替换为其他字符后再拆分,拆分完成后再将被替换的空格恢复? 答案并不严谨,以通过用例为目的......

while True:
    try:
        s = input()
        new_s = ''  # 定义新字符串
        flag = False  # 设置标志,当遇到引号时标志改变
        for i in s:
            if i == '"':  # 遇到引号,标志改变
                flag = not flag 
            if flag:  # 已经遇到引号,说明此时i必然在引号内
                if i == ' ':  # 当i为空格时,此处将空格替换为'0'
                    i = '0'
                    new_s += i
                else:
                    new_s += i
            else:
                new_s += i
        lst = new_s.split(' ')  # 将新的字符串用空格分割
        print(len(lst))
        for i in lst:
            print(i.replace('0', ' ').replace('"', ''))  # 将被替换为0的空格复原,注意输出中参数不带引号
    except:
        break