On Aug 23, 2012, at 13:38, Horacio <[email protected]> wrote:

> En el hilo anterior me expresé de manera incompleta... acá está la
> pregunta correcta...
> 
> a ver este código perl hace lo que se espera... y da como resultado LM=3...
> $A[0][0]=0; $A[0][1]=1; $A[0][2]=0; $A[0][3]=0;
> $A[1][0]=1; $A[1][1]=0; $A[1][2]=1; $A[1][3]=0;
> $A[2][0]=0; $A[2][1]=1; $A[2][2]=0; $A[2][3]=1;
> $A[3][0]=0; $A[3][1]=0; $A[3][2]=1; $A[3][3]=0;
> 
> $NR=4;
> $LM=0;
> 
> for($c=0;$c<$NR;$c++){
>    $s=0;
>    for($x=0;$x<$NR;$x++){
>    $y=$x+$c;
>    if(($y<$NR)||($x<$NR)){
>        if($A[$x][$y]==1){
>        $s++;
>                print $x." ".$y." ".$s."\n";
>        } else{
>        if($s>$LM){
>            $LM=$s;
>        }
>                print $x." ".$y." ".$s." ".$LM."\n";
>        $d[$s]++;
>        $s=0;
>        }
>    }
>    }
> }
> 
> print $LM."\n";
> 
> Este código python da como resultado LM=0, no da lo que se debe...
> 
> A=[[0,1,0,0],[1,0,1,0],[0,1,0,1],[0,0,1,0]]
> 
> NR=4
> 
> d=[]
> d=[0]*NR
> LM=0
> for c in range(NR):
>   s=0
>   for x in range(NR):
>       y=x+c
>       if  y<NR :
>           if A[x][y]==1 :
>               s+=1
>               print x,y,s
>           else:
>               print x,y,s,LM
>               if  s>LM :LM=s
>               d[s]+=1
>               s=0
> print "Diagonal maxima %d" % LM
> 
> Ensayenlo,,, y me dicen que cuernos pasa... antes que empiece a pensar
> que python es ...
> _______________________________________________
> Python-es mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/



Parece q las lineas 

d[s]+=1
s=0

no están dentro del if adecuado
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a