• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            清風(fēng)竹林

            ぷ雪飄絳梅映殘紅
               ぷ花舞霜飛映蒼松
                 ----- Do more,suffer less

            Python Challenge lv2: ocr

              題目鏈接: http://www.pythonchallenge.com/pc/def/ocr.html
              根據(jù)提示,題目要求是從html頁面源文件的一段文本中找出rare characters。 何為rare,暫時(shí)不知道,不過不要緊,先把整段文本存放于一個(gè)叫fin.txt的文件中,預(yù)處理一下:

            if __name__ == '__main__':
                
                finpath 
            = 'fin.txt'
                with open(finpath) as fin:
                    
            # translate text into a single string
                    text = ''.join([line.rstrip() for line in fin.read()])
                    
                    d
            = {}
                    
            for c in text:
                        d[c] 
            = d.get(c, 0) +1
                    
                    
            for k, v in d.items():
                        
            print(k, v)

            輸出結(jié)果:

            ! 6079
            # 6115
            % 6104
            $ 6046
            & 6043
            ) 6186
            ( 6154
            + 6066
            * 6034
            @ 6157
            [ 6108
            ] 6152
            _ 6112
            ^ 6030
            a 1
            e 1
            i 1
            l 1
            q 1
            u 1
            t 1
            y 1
            { 6046
            } 6105

              好了,很顯然了, rare characters指的就是個(gè)數(shù)為1的這幾個(gè)字母, 于是將代碼稍微改一下即可打印得到結(jié)果:

            if __name__ == '__main__':
                
                finpath 
            = 'fin.txt'
                with open(finpath) as fin:
                    
            # translate text into a single string
                    text = ''.join([line.rstrip() for line in fin.read()])
                    
                    d
            = {}
                    
            for c in text:
                        d[c] 
            = d.get(c, 0) +1
                        
                    
            print(''.join([c for c in text if d[c] ==1]))

              程序輸出: equality
              
              考慮到結(jié)果集中未輸出的都是非字母,因此可以考慮如下方法求解:
            if __name__ == '__main__':
                
                finpath 
            = 'fin.txt'
                with open(finpath) as fin:
                    
            # translate text into a single string
                    text = ''.join([line.rstrip() for line in fin.read()])
                    
            # only print letters
                    print(''.join([c for c in text if c.isalpha()]))
                    
            # another method
                    print(''.join(filter(lambda x: x.isalpha(), text)))

              參考答案

            posted on 2009-05-11 15:40 李現(xiàn)民 閱讀(1264) 評(píng)論(0)  編輯 收藏 引用 所屬分類: python

            99久久成人18免费网站| 久久天天躁狠狠躁夜夜躁2014| 国产美女久久久| 久久毛片免费看一区二区三区| 无码任你躁久久久久久老妇| 久久久久人妻一区精品性色av| 国产综合精品久久亚洲| 99久久夜色精品国产网站| 色综合久久88色综合天天| 狠狠精品久久久无码中文字幕| 99国内精品久久久久久久| 国产成人精品久久| 久久精品国产精品亚洲艾草网美妙| 久久久久久久波多野结衣高潮| 精品久久久久中文字幕一区| 久久久无码精品亚洲日韩按摩| 久久男人中文字幕资源站| 国产精品久久久久9999高清| 国产精品一区二区久久精品涩爱 | 久久精品免费一区二区| 久久亚洲国产中v天仙www| 午夜人妻久久久久久久久| 久久国产热这里只有精品| 国产精品久久99| 丰满少妇人妻久久久久久| 无码人妻久久久一区二区三区| 亚洲国产日韩欧美久久| 国产精品熟女福利久久AV| 久久国产乱子精品免费女| 99久久人妻无码精品系列蜜桃| 久久精品成人欧美大片| 久久精品国产色蜜蜜麻豆| 精品国产日韩久久亚洲| 久久精品极品盛宴观看| 国内精品久久国产| 久久精品国产男包| 久久天天躁狠狠躁夜夜躁2O2O| 亚洲国产一成人久久精品| 久久婷婷五月综合色高清| 国产精品久久一区二区三区| 伊人久久大香线蕉影院95|