Foros del Web » Programando para Internet » Python »

Duda con recorrido for

Estas en el tema de Duda con recorrido for en el foro de Python en Foros del Web. Hola, disculpen de nuevo la molestia pero me surgio una duda al intentar recorrer con for, ya que python no usa la misma sintaxis de ...
  #1 (permalink)  
Antiguo 16/12/2010, 14:11
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
Duda con recorrido for

Hola, disculpen de nuevo la molestia pero me surgio una duda al intentar recorrer con for, ya que python no usa la misma sintaxis de otros lenguajes de programacion (i=0;i<="algo";i++), se me ah complicado un poco.

La idea es recorrer una cadema e insertar algo cada 8 caracteres por ejemplo:
Código Python:
Ver original
  1. #!/usr/bin/python
  2. x = "01234567ABCDEFGH12345678ABC"
  3. lon = len(x)
  4. for i in range (0,lon-1,8):
  5.     print x[i:i+8]+"|"
Aqui recorro cada ocho y me da como resultado:
Cita:
01234567|
ABCDEFGH|
12345678|
ABC|
Ahora yo no quiero que me ingrese saltos de linea y eso lo puedo arreglar agregando una coma hasta donde se
Código Python:
Ver original
  1. print x[i:i+8]+"|",

y me regresaria

Cita:
01234567| ABCDEFGH| 12345678| ABC|
Pero lo que yo quiero es que no me inserte ni salto de linea ni espacios, osea que quedara asi nada mas:

Cita:
01234567|ABCDEFGH|12345678|ABC|
¿Como podria lograr eso?

Eh intentado al final hacer algo asi:
Código Python:
Ver original
  1. #!/usr/bin/python
  2. x = "01234567ABCDEFGH12345678ABC"
  3. lon = len(x)
  4. for i in range (0,lon-1,8):
  5.     a= str(x[i:i+8]+"|",)
  6.         final = a.replace(" ","")
  7.         print final

Lo cual como veran no me ah funcionado :(

Agradecere mucho si alguien puede indicarme como hacer el recorrido de la manera automatica que quiero.

Gracias por su atencion!!
  #2 (permalink)  
Antiguo 16/12/2010, 14:57
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Duda con recorrido for

Puedes acumular los datos a imprimir en una variable y sólo mostrarlo al final:
Código Python:
Ver original
  1. x = "01234567ABCDEFGH12345678ABC"
  2. lon = len(x)
  3. texto = ""
  4. for i in range (0,lon-1,8):
  5.     texto += x[i:i+8]+"|"
  6. print texto
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 16/12/2010, 15:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Duda con recorrido for

ja que menzo soy, justo eso intente pero no lo hice bien por que yo lo hice asi:

Código Python:
Ver original
  1. x = "01234567ABCDEFGH12345678ABC"
  2. lon = len(x)
  3. texto = ""
  4. for i in range (0,lon-1,8):
  5. &#160;   texto += x[i:i+8]+"|"
  6.     print texto

poniendo el print detro del ciclo, cuando debi ver que no era asi.

Y me dio como resultado esto
Cita:
01234567|
01234567|ABCDEFGH|
01234567|ABCDEFGH|12345678|
01234567|ABCDEFGH|12345678|ABC|

Solo era poner el print fuera del ciclo e ir guardando los resultados del ciclo en la misma variable.

Muchas Gracias David por tu tiempo y afable ayuda.

Saludos y queda resuelto el tema

Etiquetas: recorrido
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:34.