cadenas de caracteres
Sonia
siosss en ono.com
Lun Ago 25 02:01:06 CEST 2003
es esto lo q querias decir?
pq tampoco me va!
tb me salen todos 'cerrado'
#1º escribir una funcion q, dado un contorno, indique si
#se trata de un contorno cerrado, es decir, si el ultimo
#punto coincide con el punto inicial.
def contorno_cerrado(ptox,ptoy,mov):
#mov='EEESSSOOOEE'
for i in range(0,len(mov)):
if mov[i]=='E':
ptox=ptox+1
if mov[i]=='O':
ptox=ptox-1
if mov[i]=='N':
ptoy=ptoy+1
if mov[i]=='S':
ptoy=ptoy-1
if ptox == x and ptoy==y:
print 'Contorno cerrado'
else:
print 'Contorno abierto'
x=3
y=6
movimientos1=['EEESSSOOOOONNNEE'] #cerrado
movimientos2=['NNNNNNNEESSSSEESSSOOSSOONN'] #cerrado
movimientos3=['NNEEESSSOO'] #abierto
contorno_cerrado(x,y,movimientos1)
contorno_cerrado(x,y,movimientos2)
contorno_cerrado(x,y,movimientos3)
----- Original Message -----
From: Mikel Larreategi <larreategi en eibar.org>
To: La lista de python en castellano <python-es en aditel.org>
Sent: Sunday, August 24, 2003 11:45 AM
Subject: Re: [Python-es] cadenas de caracteres
> 25/08/03-n Sonia-(e)k idatzi du:
> El lunes, 25 de agosto de 2003 Sonia escribió:
>
>
> > pero no se pq en los 3 ejemplos q compruebo(2 son cerrados y uno
abierto, me da en los 3 'contorno cerrado'
> > veis algo raro?
>
> Si, te lo explico un poco mas abajo
>
> > los puntos x e y los pongo pq dicen q los ponga, pero yo no los gasto
para nada
>
> Se me ocurre que los podrias utilizar de esta manera:
> Si tienes N, sumas 1 a y
> Si tienes S, restas 1 a y
> Si tienes E, sumas 1 a x
> Si tienes O, restas 1 a x
>
> Funcionas como si x e y fueran las coordenadas en un plano.
>
> Al final con comprobar que las coordenadas iniciales y las
> conseguidas despues de los movimientos son iguales, lo tendrias
> resuelto.
>
>
> > #1º escribir una funcion q, dado un contorno, indique si
> > #se trata de un contorno cerrado, es decir, si el ultimo
> > #punto coincide con el punto inicial.
>
> > def contorno_cerrado(ptox,ptoy,mov):
> > #mov='EEESSSOOOEE'
> > mov=[]
>
> Si la lista que te dan como parametro la inicializas con una lista
> vacia no conseguiremos nada ;)
>
> > contN=0
> > contS=0
> > contE=0
> > contO=0
> > for i in range(0,len(mov)):
> > if mov[i]=='E':
> > contE=contE+1
> > if mov[i]=='O':
> > contO=contO+1
> > if mov[i]=='N':
> > contN=contN+1
> > if mov[i]=='S':
> > contS=contS+1
>
> > if contE==contO and contN==contS:
> > if contE+contO == contN+contS:
> > print 'Contorno cerrado'
> > else:
> > print 'Contorno abierto'
>
> > x=3
> > y=6
>
> > movimientos1=['EEESSSOOOOONNNEE'] #cerrado
> > movimientos2=['NNNNNNNEESSSSEESSSOOSSOONN'] #cerrado
> > movimientos3=['NNEEESSSOO'] #abierto
> > contorno_cerrado(x,y,movimientos1)
> > contorno_cerrado(x,y,movimientos2)
> > contorno_cerrado(x,y,movimientos2)
>
> Haces la llamada otra vez con movimientos2 en vez de con
> movimientos3. Ese copy-paste traicionero ;)
>
> Saludos,
>
> Mikel Larreategi
> Estudiante Ingenieria Informatica
> UPV-EHU
>
> ----
> http://usuarios.lycos.es/erral
> PGP Key ID: 0x597B543C
> Bidaltzen dizkidazun mezuekin arazorik baduzu (zerbitzariak itzultzen
baditu, ...) bidali helbide honetara:
> Si tienes problemas con los mensajes que me mandas (devolucion, ...)
envialos a:
> erral2000 en euskalnet.net
>
> Barkatu eragozpenak
> Perdona las molestias
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es