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