Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed4.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.035 X-Spam-Evidence: '*H*': 0.93; '*S*': 0.00; 'key.': 0.09; 'repeated': 0.09; 'python': 0.11; 'examples:': 0.16; 'from:addr:mrabarnett.plus.com': 0.16; 'from:addr:python': 0.16; 'from:name:mrab': 0.16; 'message-id:@mrabarnett.plus.com': 0.16; 'received:192.168.1.4': 0.16; 'truncate': 0.16; 'wrote:': 0.18; 'subject:need': 0.19; 'foundation': 0.20; '(the': 0.22; 'header :User-Agent:1': 0.23; 'example.': 0.24; 'header:In-Reply-To:1': 0.27; 'character': 0.29; 'characters': 0.30; "skip:' 10": 0.31; 'ok.': 0.31; 'text': 0.33; 'to:addr:python-list': 0.38; 'fact': 0.38; 'does': 0.39; 'to:addr:python.org': 0.39; 'enough': 0.39; 'how': 0.40; 'length': 0.61; 'no.': 0.61; 'entire': 0.61; 'first': 0.61; 'times': 0.62; "you'll": 0.62; 'email addr:gmail.com': 0.63; 'line,': 0.68; 'repeat': 0.74 X-CM-Score: 0.00 X-CNFS-Analysis: v=2.1 cv=VomtAoGn c=1 sm=1 tr=0 a=0nF1XD0wxitMEM03M9B4ZQ==:117 a=0nF1XD0wxitMEM03M9B4ZQ==:17 a=0Bzu9jTXAAAA:8 a=aoAcgTy3oA8A:10 a=IkcTkHD0fZMA:10 a=EBOSESyhAAAA:8 a=pGLkceISAAAA:8 a=svm84R7ZdHQq8sZaV9wA:9 a=jgAsOxPL4p8TLVsf:21 a=b0LxYCYf21UrZzL8:21 a=QEXdDO2ut3YA:10 X-AUTH: mrabarnett:2500 Date: Wed, 05 Nov 2014 17:53:23 +0000 From: MRAB User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: python-list@python.org Subject: Re: I need algorithm for my task References: <50a7df31-ee6c-45f5-9dd8-6ac895ec46cf@googlegroups.com> In-Reply-To: <50a7df31-ee6c-45f5-9dd8-6ac895ec46cf@googlegroups.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 42 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1415210010 news.xs4all.nl 2952 [2001:888:2000:d::a6]:37236 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:80284 On 2014-11-05 11:58, lordvital21@gmail.com wrote: > I have line 'pythonpythonpyth'. How do I know which word is the foundation line?. > Other examples: > "pythonpythonpyth" is python > "DOLORIUMD" is DOLORIUM > "HELLOLHELLO" is HELLOL > "thewordword" is thewordword > > I need to know whether the word in the text is repeated and get it. This will be the key. > Consider the first example. If the foundation is the first 1 character 'p' and you repeat it enough times you'll get 'pppppppppppppppp'. This is the same length as the line. Does it match the line? No. OK. If the foundation is the first 2 characters 'py' and you repeat it enough times you'll get 'pypypypypypypypy'. This is the same length as the line. Does it match the line? No. OK. If the foundation is the first 3 characters 'py' and you repeat it enough times you'll get 'pytpytpytpytpytpyt'. This is longer than as the line, so truncate it to 'pytpytpytpytpytpy'. Does it match the line? No. OK. Continue in this vein until you'll get a match. (The foundation might in fact be the entire line.)