题解 | #参数解析#

参数解析

http://www.nowcoder.com/practice/668603dc307e4ef4bb07bcd0615ea677

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

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
        
                
全部评论

相关推荐

02-25 16:55
已编辑
北京工业大学 Java
211本,找日常实习的话,如果面向中厂的话,需要刷hot100么?因为之前从来没刷过,算法仅限于学校课程水平,准备3月投递简历,现在还需要背八股文,时间有些紧张,还需要刷算法题么?同时什么样的公司可以算是中厂呢?
程序员小白条:中大厂说的上名字的,必定要算法,hot100只是最基础的了,题库远不止100题捏,一般在300-400题量之间,算法=学校课程=简单题也做不出,多准备八股文和算法吧,其他项目可以放放,精刷算法就行了,花时间成长很快的
点赞 评论 收藏
分享
评论
15
1
分享

创作者周榜

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