tests/test-highlight.t
changeset 29572 d86b54d9bb0c
parent 29525 d8f2c718deec
child 30708 011122b3b1c4
equal deleted inserted replaced
29571:d1a7d9c279bb 29572:d86b54d9bb0c
   287   </tr>
   287   </tr>
   288   </thead>
   288   </thead>
   289   <tbody class="stripes2">
   289   <tbody class="stripes2">
   290     
   290     
   291   <tr id="l1" class="thisrev">
   291   <tr id="l1" class="thisrev">
   292   <td class="annotate">
   292   <td class="annotate parity0">
   293   <a href="/annotate/06824edf55d0/primes.py#l1">
   293   <a href="/annotate/06824edf55d0/primes.py#l1">
   294   0
   294   0
   295   </a>
   295   </a>
   296   <div class="annotate-info">
   296   <div class="annotate-info">
   297   <div>
   297   <div>
   306   </div>
   306   </div>
   307   </td>
   307   </td>
   308   <td class="source"><a href="#l1">     1</a> <span class="c">#!/usr/bin/env python</span></td>
   308   <td class="source"><a href="#l1">     1</a> <span class="c">#!/usr/bin/env python</span></td>
   309   </tr>
   309   </tr>
   310   <tr id="l2" class="thisrev">
   310   <tr id="l2" class="thisrev">
   311   <td class="annotate">
   311   <td class="annotate parity0">
   312   
   312   
   313   <div class="annotate-info">
   313   <div class="annotate-info">
   314   <div>
   314   <div>
   315   <a href="/annotate/06824edf55d0/primes.py#l2">
   315   <a href="/annotate/06824edf55d0/primes.py#l2">
   316   06824edf55d0</a>
   316   06824edf55d0</a>
   323   </div>
   323   </div>
   324   </td>
   324   </td>
   325   <td class="source"><a href="#l2">     2</a> </td>
   325   <td class="source"><a href="#l2">     2</a> </td>
   326   </tr>
   326   </tr>
   327   <tr id="l3" class="thisrev">
   327   <tr id="l3" class="thisrev">
   328   <td class="annotate">
   328   <td class="annotate parity0">
   329   
   329   
   330   <div class="annotate-info">
   330   <div class="annotate-info">
   331   <div>
   331   <div>
   332   <a href="/annotate/06824edf55d0/primes.py#l3">
   332   <a href="/annotate/06824edf55d0/primes.py#l3">
   333   06824edf55d0</a>
   333   06824edf55d0</a>
   340   </div>
   340   </div>
   341   </td>
   341   </td>
   342   <td class="source"><a href="#l3">     3</a> <span class="sd">&quot;&quot;&quot;Fun with generators. Corresponding Haskell implementation:</span></td>
   342   <td class="source"><a href="#l3">     3</a> <span class="sd">&quot;&quot;&quot;Fun with generators. Corresponding Haskell implementation:</span></td>
   343   </tr>
   343   </tr>
   344   <tr id="l4" class="thisrev">
   344   <tr id="l4" class="thisrev">
   345   <td class="annotate">
   345   <td class="annotate parity0">
   346   
   346   
   347   <div class="annotate-info">
   347   <div class="annotate-info">
   348   <div>
   348   <div>
   349   <a href="/annotate/06824edf55d0/primes.py#l4">
   349   <a href="/annotate/06824edf55d0/primes.py#l4">
   350   06824edf55d0</a>
   350   06824edf55d0</a>
   357   </div>
   357   </div>
   358   </td>
   358   </td>
   359   <td class="source"><a href="#l4">     4</a> </td>
   359   <td class="source"><a href="#l4">     4</a> </td>
   360   </tr>
   360   </tr>
   361   <tr id="l5" class="thisrev">
   361   <tr id="l5" class="thisrev">
   362   <td class="annotate">
   362   <td class="annotate parity0">
   363   
   363   
   364   <div class="annotate-info">
   364   <div class="annotate-info">
   365   <div>
   365   <div>
   366   <a href="/annotate/06824edf55d0/primes.py#l5">
   366   <a href="/annotate/06824edf55d0/primes.py#l5">
   367   06824edf55d0</a>
   367   06824edf55d0</a>
   374   </div>
   374   </div>
   375   </td>
   375   </td>
   376   <td class="source"><a href="#l5">     5</a> <span class="sd">primes = 2 : sieve [3, 5..]</span></td>
   376   <td class="source"><a href="#l5">     5</a> <span class="sd">primes = 2 : sieve [3, 5..]</span></td>
   377   </tr>
   377   </tr>
   378   <tr id="l6" class="thisrev">
   378   <tr id="l6" class="thisrev">
   379   <td class="annotate">
   379   <td class="annotate parity0">
   380   
   380   
   381   <div class="annotate-info">
   381   <div class="annotate-info">
   382   <div>
   382   <div>
   383   <a href="/annotate/06824edf55d0/primes.py#l6">
   383   <a href="/annotate/06824edf55d0/primes.py#l6">
   384   06824edf55d0</a>
   384   06824edf55d0</a>
   391   </div>
   391   </div>
   392   </td>
   392   </td>
   393   <td class="source"><a href="#l6">     6</a> <span class="sd">    where sieve (p:ns) = p : sieve [n | n &lt;- ns, mod n p /= 0]</span></td>
   393   <td class="source"><a href="#l6">     6</a> <span class="sd">    where sieve (p:ns) = p : sieve [n | n &lt;- ns, mod n p /= 0]</span></td>
   394   </tr>
   394   </tr>
   395   <tr id="l7" class="thisrev">
   395   <tr id="l7" class="thisrev">
   396   <td class="annotate">
   396   <td class="annotate parity0">
   397   
   397   
   398   <div class="annotate-info">
   398   <div class="annotate-info">
   399   <div>
   399   <div>
   400   <a href="/annotate/06824edf55d0/primes.py#l7">
   400   <a href="/annotate/06824edf55d0/primes.py#l7">
   401   06824edf55d0</a>
   401   06824edf55d0</a>
   408   </div>
   408   </div>
   409   </td>
   409   </td>
   410   <td class="source"><a href="#l7">     7</a> <span class="sd">&quot;&quot;&quot;</span></td>
   410   <td class="source"><a href="#l7">     7</a> <span class="sd">&quot;&quot;&quot;</span></td>
   411   </tr>
   411   </tr>
   412   <tr id="l8" class="thisrev">
   412   <tr id="l8" class="thisrev">
   413   <td class="annotate">
   413   <td class="annotate parity0">
   414   
   414   
   415   <div class="annotate-info">
   415   <div class="annotate-info">
   416   <div>
   416   <div>
   417   <a href="/annotate/06824edf55d0/primes.py#l8">
   417   <a href="/annotate/06824edf55d0/primes.py#l8">
   418   06824edf55d0</a>
   418   06824edf55d0</a>
   425   </div>
   425   </div>
   426   </td>
   426   </td>
   427   <td class="source"><a href="#l8">     8</a> </td>
   427   <td class="source"><a href="#l8">     8</a> </td>
   428   </tr>
   428   </tr>
   429   <tr id="l9" class="thisrev">
   429   <tr id="l9" class="thisrev">
   430   <td class="annotate">
   430   <td class="annotate parity0">
   431   
   431   
   432   <div class="annotate-info">
   432   <div class="annotate-info">
   433   <div>
   433   <div>
   434   <a href="/annotate/06824edf55d0/primes.py#l9">
   434   <a href="/annotate/06824edf55d0/primes.py#l9">
   435   06824edf55d0</a>
   435   06824edf55d0</a>
   442   </div>
   442   </div>
   443   </td>
   443   </td>
   444   <td class="source"><a href="#l9">     9</a> <span class="kn">from</span> <span class="nn">itertools</span> <span class="kn">import</span> <span class="n">dropwhile</span><span class="p">,</span> <span class="n">ifilter</span><span class="p">,</span> <span class="n">islice</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="n">chain</span></td>
   444   <td class="source"><a href="#l9">     9</a> <span class="kn">from</span> <span class="nn">itertools</span> <span class="kn">import</span> <span class="n">dropwhile</span><span class="p">,</span> <span class="n">ifilter</span><span class="p">,</span> <span class="n">islice</span><span class="p">,</span> <span class="n">count</span><span class="p">,</span> <span class="n">chain</span></td>
   445   </tr>
   445   </tr>
   446   <tr id="l10" class="thisrev">
   446   <tr id="l10" class="thisrev">
   447   <td class="annotate">
   447   <td class="annotate parity0">
   448   
   448   
   449   <div class="annotate-info">
   449   <div class="annotate-info">
   450   <div>
   450   <div>
   451   <a href="/annotate/06824edf55d0/primes.py#l10">
   451   <a href="/annotate/06824edf55d0/primes.py#l10">
   452   06824edf55d0</a>
   452   06824edf55d0</a>
   459   </div>
   459   </div>
   460   </td>
   460   </td>
   461   <td class="source"><a href="#l10">    10</a> </td>
   461   <td class="source"><a href="#l10">    10</a> </td>
   462   </tr>
   462   </tr>
   463   <tr id="l11" class="thisrev">
   463   <tr id="l11" class="thisrev">
   464   <td class="annotate">
   464   <td class="annotate parity0">
   465   
   465   
   466   <div class="annotate-info">
   466   <div class="annotate-info">
   467   <div>
   467   <div>
   468   <a href="/annotate/06824edf55d0/primes.py#l11">
   468   <a href="/annotate/06824edf55d0/primes.py#l11">
   469   06824edf55d0</a>
   469   06824edf55d0</a>
   476   </div>
   476   </div>
   477   </td>
   477   </td>
   478   <td class="source"><a href="#l11">    11</a> <span class="kn">def</span> <span class="nf">primes</span><span class="p">():</span></td>
   478   <td class="source"><a href="#l11">    11</a> <span class="kn">def</span> <span class="nf">primes</span><span class="p">():</span></td>
   479   </tr>
   479   </tr>
   480   <tr id="l12" class="thisrev">
   480   <tr id="l12" class="thisrev">
   481   <td class="annotate">
   481   <td class="annotate parity0">
   482   
   482   
   483   <div class="annotate-info">
   483   <div class="annotate-info">
   484   <div>
   484   <div>
   485   <a href="/annotate/06824edf55d0/primes.py#l12">
   485   <a href="/annotate/06824edf55d0/primes.py#l12">
   486   06824edf55d0</a>
   486   06824edf55d0</a>
   493   </div>
   493   </div>
   494   </td>
   494   </td>
   495   <td class="source"><a href="#l12">    12</a>     <span class="sd">&quot;&quot;&quot;Generate all primes.&quot;&quot;&quot;</span></td>
   495   <td class="source"><a href="#l12">    12</a>     <span class="sd">&quot;&quot;&quot;Generate all primes.&quot;&quot;&quot;</span></td>
   496   </tr>
   496   </tr>
   497   <tr id="l13" class="thisrev">
   497   <tr id="l13" class="thisrev">
   498   <td class="annotate">
   498   <td class="annotate parity0">
   499   
   499   
   500   <div class="annotate-info">
   500   <div class="annotate-info">
   501   <div>
   501   <div>
   502   <a href="/annotate/06824edf55d0/primes.py#l13">
   502   <a href="/annotate/06824edf55d0/primes.py#l13">
   503   06824edf55d0</a>
   503   06824edf55d0</a>
   510   </div>
   510   </div>
   511   </td>
   511   </td>
   512   <td class="source"><a href="#l13">    13</a>     <span class="kn">def</span> <span class="nf">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
   512   <td class="source"><a href="#l13">    13</a>     <span class="kn">def</span> <span class="nf">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
   513   </tr>
   513   </tr>
   514   <tr id="l14" class="thisrev">
   514   <tr id="l14" class="thisrev">
   515   <td class="annotate">
   515   <td class="annotate parity0">
   516   
   516   
   517   <div class="annotate-info">
   517   <div class="annotate-info">
   518   <div>
   518   <div>
   519   <a href="/annotate/06824edf55d0/primes.py#l14">
   519   <a href="/annotate/06824edf55d0/primes.py#l14">
   520   06824edf55d0</a>
   520   06824edf55d0</a>
   527   </div>
   527   </div>
   528   </td>
   528   </td>
   529   <td class="source"><a href="#l14">    14</a>         <span class="n">p</span> <span class="o">=</span> <span class="n">ns</span><span class="o">.</span><span class="n">next</span><span class="p">()</span></td>
   529   <td class="source"><a href="#l14">    14</a>         <span class="n">p</span> <span class="o">=</span> <span class="n">ns</span><span class="o">.</span><span class="n">next</span><span class="p">()</span></td>
   530   </tr>
   530   </tr>
   531   <tr id="l15" class="thisrev">
   531   <tr id="l15" class="thisrev">
   532   <td class="annotate">
   532   <td class="annotate parity0">
   533   
   533   
   534   <div class="annotate-info">
   534   <div class="annotate-info">
   535   <div>
   535   <div>
   536   <a href="/annotate/06824edf55d0/primes.py#l15">
   536   <a href="/annotate/06824edf55d0/primes.py#l15">
   537   06824edf55d0</a>
   537   06824edf55d0</a>
   544   </div>
   544   </div>
   545   </td>
   545   </td>
   546   <td class="source"><a href="#l15">    15</a>         <span class="c"># It is important to yield *here* in order to stop the</span></td>
   546   <td class="source"><a href="#l15">    15</a>         <span class="c"># It is important to yield *here* in order to stop the</span></td>
   547   </tr>
   547   </tr>
   548   <tr id="l16" class="thisrev">
   548   <tr id="l16" class="thisrev">
   549   <td class="annotate">
   549   <td class="annotate parity0">
   550   
   550   
   551   <div class="annotate-info">
   551   <div class="annotate-info">
   552   <div>
   552   <div>
   553   <a href="/annotate/06824edf55d0/primes.py#l16">
   553   <a href="/annotate/06824edf55d0/primes.py#l16">
   554   06824edf55d0</a>
   554   06824edf55d0</a>
   561   </div>
   561   </div>
   562   </td>
   562   </td>
   563   <td class="source"><a href="#l16">    16</a>         <span class="c"># infinite recursion.</span></td>
   563   <td class="source"><a href="#l16">    16</a>         <span class="c"># infinite recursion.</span></td>
   564   </tr>
   564   </tr>
   565   <tr id="l17" class="thisrev">
   565   <tr id="l17" class="thisrev">
   566   <td class="annotate">
   566   <td class="annotate parity0">
   567   
   567   
   568   <div class="annotate-info">
   568   <div class="annotate-info">
   569   <div>
   569   <div>
   570   <a href="/annotate/06824edf55d0/primes.py#l17">
   570   <a href="/annotate/06824edf55d0/primes.py#l17">
   571   06824edf55d0</a>
   571   06824edf55d0</a>
   578   </div>
   578   </div>
   579   </td>
   579   </td>
   580   <td class="source"><a href="#l17">    17</a>         <span class="kn">yield</span> <span class="n">p</span></td>
   580   <td class="source"><a href="#l17">    17</a>         <span class="kn">yield</span> <span class="n">p</span></td>
   581   </tr>
   581   </tr>
   582   <tr id="l18" class="thisrev">
   582   <tr id="l18" class="thisrev">
   583   <td class="annotate">
   583   <td class="annotate parity0">
   584   
   584   
   585   <div class="annotate-info">
   585   <div class="annotate-info">
   586   <div>
   586   <div>
   587   <a href="/annotate/06824edf55d0/primes.py#l18">
   587   <a href="/annotate/06824edf55d0/primes.py#l18">
   588   06824edf55d0</a>
   588   06824edf55d0</a>
   595   </div>
   595   </div>
   596   </td>
   596   </td>
   597   <td class="source"><a href="#l18">    18</a>         <span class="n">ns</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">%</span> <span class="n">p</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">ns</span><span class="p">)</span></td>
   597   <td class="source"><a href="#l18">    18</a>         <span class="n">ns</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">%</span> <span class="n">p</span> <span class="o">!=</span> <span class="mi">0</span><span class="p">,</span> <span class="n">ns</span><span class="p">)</span></td>
   598   </tr>
   598   </tr>
   599   <tr id="l19" class="thisrev">
   599   <tr id="l19" class="thisrev">
   600   <td class="annotate">
   600   <td class="annotate parity0">
   601   
   601   
   602   <div class="annotate-info">
   602   <div class="annotate-info">
   603   <div>
   603   <div>
   604   <a href="/annotate/06824edf55d0/primes.py#l19">
   604   <a href="/annotate/06824edf55d0/primes.py#l19">
   605   06824edf55d0</a>
   605   06824edf55d0</a>
   612   </div>
   612   </div>
   613   </td>
   613   </td>
   614   <td class="source"><a href="#l19">    19</a>         <span class="kn">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
   614   <td class="source"><a href="#l19">    19</a>         <span class="kn">for</span> <span class="n">n</span> <span class="ow">in</span> <span class="n">sieve</span><span class="p">(</span><span class="n">ns</span><span class="p">):</span></td>
   615   </tr>
   615   </tr>
   616   <tr id="l20" class="thisrev">
   616   <tr id="l20" class="thisrev">
   617   <td class="annotate">
   617   <td class="annotate parity0">
   618   
   618   
   619   <div class="annotate-info">
   619   <div class="annotate-info">
   620   <div>
   620   <div>
   621   <a href="/annotate/06824edf55d0/primes.py#l20">
   621   <a href="/annotate/06824edf55d0/primes.py#l20">
   622   06824edf55d0</a>
   622   06824edf55d0</a>
   629   </div>
   629   </div>
   630   </td>
   630   </td>
   631   <td class="source"><a href="#l20">    20</a>             <span class="kn">yield</span> <span class="n">n</span></td>
   631   <td class="source"><a href="#l20">    20</a>             <span class="kn">yield</span> <span class="n">n</span></td>
   632   </tr>
   632   </tr>
   633   <tr id="l21" class="thisrev">
   633   <tr id="l21" class="thisrev">
   634   <td class="annotate">
   634   <td class="annotate parity0">
   635   
   635   
   636   <div class="annotate-info">
   636   <div class="annotate-info">
   637   <div>
   637   <div>
   638   <a href="/annotate/06824edf55d0/primes.py#l21">
   638   <a href="/annotate/06824edf55d0/primes.py#l21">
   639   06824edf55d0</a>
   639   06824edf55d0</a>
   646   </div>
   646   </div>
   647   </td>
   647   </td>
   648   <td class="source"><a href="#l21">    21</a> </td>
   648   <td class="source"><a href="#l21">    21</a> </td>
   649   </tr>
   649   </tr>
   650   <tr id="l22" class="thisrev">
   650   <tr id="l22" class="thisrev">
   651   <td class="annotate">
   651   <td class="annotate parity0">
   652   
   652   
   653   <div class="annotate-info">
   653   <div class="annotate-info">
   654   <div>
   654   <div>
   655   <a href="/annotate/06824edf55d0/primes.py#l22">
   655   <a href="/annotate/06824edf55d0/primes.py#l22">
   656   06824edf55d0</a>
   656   06824edf55d0</a>
   663   </div>
   663   </div>
   664   </td>
   664   </td>
   665   <td class="source"><a href="#l22">    22</a>     <span class="n">odds</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">1</span><span class="p">,</span> <span class="n">count</span><span class="p">())</span></td>
   665   <td class="source"><a href="#l22">    22</a>     <span class="n">odds</span> <span class="o">=</span> <span class="n">ifilter</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">i</span><span class="p">:</span> <span class="n">i</span> <span class="o">%</span> <span class="mi">2</span> <span class="o">==</span> <span class="mi">1</span><span class="p">,</span> <span class="n">count</span><span class="p">())</span></td>
   666   </tr>
   666   </tr>
   667   <tr id="l23" class="thisrev">
   667   <tr id="l23" class="thisrev">
   668   <td class="annotate">
   668   <td class="annotate parity0">
   669   
   669   
   670   <div class="annotate-info">
   670   <div class="annotate-info">
   671   <div>
   671   <div>
   672   <a href="/annotate/06824edf55d0/primes.py#l23">
   672   <a href="/annotate/06824edf55d0/primes.py#l23">
   673   06824edf55d0</a>
   673   06824edf55d0</a>
   680   </div>
   680   </div>
   681   </td>
   681   </td>
   682   <td class="source"><a href="#l23">    23</a>     <span class="kn">return</span> <span class="n">chain</span><span class="p">([</span><span class="mi">2</span><span class="p">],</span> <span class="n">sieve</span><span class="p">(</span><span class="n">dropwhile</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">,</span> <span class="n">odds</span><span class="p">)))</span></td>
   682   <td class="source"><a href="#l23">    23</a>     <span class="kn">return</span> <span class="n">chain</span><span class="p">([</span><span class="mi">2</span><span class="p">],</span> <span class="n">sieve</span><span class="p">(</span><span class="n">dropwhile</span><span class="p">(</span><span class="kn">lambda</span> <span class="n">n</span><span class="p">:</span> <span class="n">n</span> <span class="o">&lt;</span> <span class="mi">3</span><span class="p">,</span> <span class="n">odds</span><span class="p">)))</span></td>
   683   </tr>
   683   </tr>
   684   <tr id="l24" class="thisrev">
   684   <tr id="l24" class="thisrev">
   685   <td class="annotate">
   685   <td class="annotate parity0">
   686   
   686   
   687   <div class="annotate-info">
   687   <div class="annotate-info">
   688   <div>
   688   <div>
   689   <a href="/annotate/06824edf55d0/primes.py#l24">
   689   <a href="/annotate/06824edf55d0/primes.py#l24">
   690   06824edf55d0</a>
   690   06824edf55d0</a>
   697   </div>
   697   </div>
   698   </td>
   698   </td>
   699   <td class="source"><a href="#l24">    24</a> </td>
   699   <td class="source"><a href="#l24">    24</a> </td>
   700   </tr>
   700   </tr>
   701   <tr id="l25" class="thisrev">
   701   <tr id="l25" class="thisrev">
   702   <td class="annotate">
   702   <td class="annotate parity0">
   703   
   703   
   704   <div class="annotate-info">
   704   <div class="annotate-info">
   705   <div>
   705   <div>
   706   <a href="/annotate/06824edf55d0/primes.py#l25">
   706   <a href="/annotate/06824edf55d0/primes.py#l25">
   707   06824edf55d0</a>
   707   06824edf55d0</a>
   714   </div>
   714   </div>
   715   </td>
   715   </td>
   716   <td class="source"><a href="#l25">    25</a> <span class="kn">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span></td>
   716   <td class="source"><a href="#l25">    25</a> <span class="kn">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">&quot;__main__&quot;</span><span class="p">:</span></td>
   717   </tr>
   717   </tr>
   718   <tr id="l26" class="thisrev">
   718   <tr id="l26" class="thisrev">
   719   <td class="annotate">
   719   <td class="annotate parity0">
   720   
   720   
   721   <div class="annotate-info">
   721   <div class="annotate-info">
   722   <div>
   722   <div>
   723   <a href="/annotate/06824edf55d0/primes.py#l26">
   723   <a href="/annotate/06824edf55d0/primes.py#l26">
   724   06824edf55d0</a>
   724   06824edf55d0</a>
   731   </div>
   731   </div>
   732   </td>
   732   </td>
   733   <td class="source"><a href="#l26">    26</a>     <span class="kn">import</span> <span class="nn">sys</span></td>
   733   <td class="source"><a href="#l26">    26</a>     <span class="kn">import</span> <span class="nn">sys</span></td>
   734   </tr>
   734   </tr>
   735   <tr id="l27" class="thisrev">
   735   <tr id="l27" class="thisrev">
   736   <td class="annotate">
   736   <td class="annotate parity0">
   737   
   737   
   738   <div class="annotate-info">
   738   <div class="annotate-info">
   739   <div>
   739   <div>
   740   <a href="/annotate/06824edf55d0/primes.py#l27">
   740   <a href="/annotate/06824edf55d0/primes.py#l27">
   741   06824edf55d0</a>
   741   06824edf55d0</a>
   748   </div>
   748   </div>
   749   </td>
   749   </td>
   750   <td class="source"><a href="#l27">    27</a>     <span class="kn">try</span><span class="p">:</span></td>
   750   <td class="source"><a href="#l27">    27</a>     <span class="kn">try</span><span class="p">:</span></td>
   751   </tr>
   751   </tr>
   752   <tr id="l28" class="thisrev">
   752   <tr id="l28" class="thisrev">
   753   <td class="annotate">
   753   <td class="annotate parity0">
   754   
   754   
   755   <div class="annotate-info">
   755   <div class="annotate-info">
   756   <div>
   756   <div>
   757   <a href="/annotate/06824edf55d0/primes.py#l28">
   757   <a href="/annotate/06824edf55d0/primes.py#l28">
   758   06824edf55d0</a>
   758   06824edf55d0</a>
   765   </div>
   765   </div>
   766   </td>
   766   </td>
   767   <td class="source"><a href="#l28">    28</a>         <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span></td>
   767   <td class="source"><a href="#l28">    28</a>         <span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span></td>
   768   </tr>
   768   </tr>
   769   <tr id="l29" class="thisrev">
   769   <tr id="l29" class="thisrev">
   770   <td class="annotate">
   770   <td class="annotate parity0">
   771   
   771   
   772   <div class="annotate-info">
   772   <div class="annotate-info">
   773   <div>
   773   <div>
   774   <a href="/annotate/06824edf55d0/primes.py#l29">
   774   <a href="/annotate/06824edf55d0/primes.py#l29">
   775   06824edf55d0</a>
   775   06824edf55d0</a>
   782   </div>
   782   </div>
   783   </td>
   783   </td>
   784   <td class="source"><a href="#l29">    29</a>     <span class="kn">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">IndexError</span><span class="p">):</span></td>
   784   <td class="source"><a href="#l29">    29</a>     <span class="kn">except</span> <span class="p">(</span><span class="ne">ValueError</span><span class="p">,</span> <span class="ne">IndexError</span><span class="p">):</span></td>
   785   </tr>
   785   </tr>
   786   <tr id="l30" class="thisrev">
   786   <tr id="l30" class="thisrev">
   787   <td class="annotate">
   787   <td class="annotate parity0">
   788   
   788   
   789   <div class="annotate-info">
   789   <div class="annotate-info">
   790   <div>
   790   <div>
   791   <a href="/annotate/06824edf55d0/primes.py#l30">
   791   <a href="/annotate/06824edf55d0/primes.py#l30">
   792   06824edf55d0</a>
   792   06824edf55d0</a>
   799   </div>
   799   </div>
   800   </td>
   800   </td>
   801   <td class="source"><a href="#l30">    30</a>         <span class="n">n</span> <span class="o">=</span> <span class="mi">10</span></td>
   801   <td class="source"><a href="#l30">    30</a>         <span class="n">n</span> <span class="o">=</span> <span class="mi">10</span></td>
   802   </tr>
   802   </tr>
   803   <tr id="l31" class="thisrev">
   803   <tr id="l31" class="thisrev">
   804   <td class="annotate">
   804   <td class="annotate parity0">
   805   
   805   
   806   <div class="annotate-info">
   806   <div class="annotate-info">
   807   <div>
   807   <div>
   808   <a href="/annotate/06824edf55d0/primes.py#l31">
   808   <a href="/annotate/06824edf55d0/primes.py#l31">
   809   06824edf55d0</a>
   809   06824edf55d0</a>
   816   </div>
   816   </div>
   817   </td>
   817   </td>
   818   <td class="source"><a href="#l31">    31</a>     <span class="n">p</span> <span class="o">=</span> <span class="n">primes</span><span class="p">()</span></td>
   818   <td class="source"><a href="#l31">    31</a>     <span class="n">p</span> <span class="o">=</span> <span class="n">primes</span><span class="p">()</span></td>
   819   </tr>
   819   </tr>
   820   <tr id="l32" class="thisrev">
   820   <tr id="l32" class="thisrev">
   821   <td class="annotate">
   821   <td class="annotate parity0">
   822   
   822   
   823   <div class="annotate-info">
   823   <div class="annotate-info">
   824   <div>
   824   <div>
   825   <a href="/annotate/06824edf55d0/primes.py#l32">
   825   <a href="/annotate/06824edf55d0/primes.py#l32">
   826   06824edf55d0</a>
   826   06824edf55d0</a>
   833   </div>
   833   </div>
   834   </td>
   834   </td>
   835   <td class="source"><a href="#l32">    32</a>     <span class="kn">print</span> <span class="s">&quot;The first </span><span class="si">%d</span><span class="s"> primes: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="n">islice</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">)))</span></td>
   835   <td class="source"><a href="#l32">    32</a>     <span class="kn">print</span> <span class="s">&quot;The first </span><span class="si">%d</span><span class="s"> primes: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">n</span><span class="p">,</span> <span class="nb">list</span><span class="p">(</span><span class="n">islice</span><span class="p">(</span><span class="n">p</span><span class="p">,</span> <span class="n">n</span><span class="p">)))</span></td>
   836   </tr>
   836   </tr>
   837   <tr id="l33" class="thisrev">
   837   <tr id="l33" class="thisrev">
   838   <td class="annotate">
   838   <td class="annotate parity0">
   839   
   839   
   840   <div class="annotate-info">
   840   <div class="annotate-info">
   841   <div>
   841   <div>
   842   <a href="/annotate/06824edf55d0/primes.py#l33">
   842   <a href="/annotate/06824edf55d0/primes.py#l33">
   843   06824edf55d0</a>
   843   06824edf55d0</a>