• <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>

            清風竹林

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

            Python Challenge lv2: ocr

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

            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)

            輸出結果:

            ! 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指的就是個數為1的這幾個字母, 于是將代碼稍微改一下即可打印得到結果:

            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
              
              考慮到結果集中未輸出的都是非字母,因此可以考慮如下方法求解:
            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 李現民 閱讀(1245) 評論(0)  編輯 收藏 引用 所屬分類: python

            国产情侣久久久久aⅴ免费| 亚洲色欲久久久久综合网| 99蜜桃臀久久久欧美精品网站 | 色天使久久综合网天天| 国产成人精品久久二区二区| 亚洲精品久久久www| 性做久久久久久久久浪潮| 国产三级精品久久| 久久一日本道色综合久久| 国产毛片久久久久久国产毛片| 国産精品久久久久久久| 国内精品伊人久久久久| 久久精品亚洲中文字幕无码麻豆| 久久青青色综合| 国产一区二区三区久久| 亚洲人成无码久久电影网站| 久久男人Av资源网站无码软件 | 久久精品国产亚洲AV香蕉| 亚洲?V乱码久久精品蜜桃 | 久久久久人妻一区精品| 久久综合精品国产一区二区三区| 国产精品欧美久久久天天影视| 综合久久精品色| 99久久精品国产综合一区| 国产国产成人精品久久| 香蕉久久夜色精品国产尤物| 99久久无码一区人妻| 久久A级毛片免费观看| 日产精品99久久久久久| 久久强奷乱码老熟女网站| 久久综合九色综合久99| 久久久精品无码专区不卡| 国产精品99久久久久久猫咪| 久久中文娱乐网| 一级a性色生活片久久无| 久久精品国产亚洲精品| 久久综合狠狠色综合伊人| 麻豆精品久久久一区二区| 国产91色综合久久免费| 国产人久久人人人人爽| 久久精品国产秦先生|