Foros del Web » Programando para Internet » Python »

Duda con cambiar un valor dentro de un For

Estas en el tema de Duda con cambiar un valor dentro de un For en el foro de Python en Foros del Web. Hola otra vez molestando. Tengo una duda, tengo un Script que lo que intenta hacer es obtener cada dos caracteres de una cadena en minusculas ...
  #1 (permalink)  
Antiguo 17/12/2010, 21:53
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
Duda con cambiar un valor dentro de un For

Hola otra vez molestando. Tengo una duda, tengo un Script que lo que intenta hacer es obtener cada dos caracteres de una cadena en minusculas y convertirla a mayusculas
Código Python:
Ver original
  1. #!/usr/bin/python
  2. text = str("hola como estas, espero muy bien jejeje")
  3. longitud = len(text)
  4. final = ""
  5. for i in range(0,longitud,2):
  6.     final += text[i:i+2].upper()
  7. print final

La cosa es que me convierte a mayusculas todo.

Me doy cuenta que el for lo que hace es moverse entre la cadena, pero no agarra nada...

Osea si en ves de
Código Python:
Ver original
  1. final += text[i:i+2].upper()

pongo
Código Python:
Ver original
  1. final += text[i:i+2]+"^"

Me daria esto:

Cita:
ho^la^ c^om^o ^es^ta^s,^ e^sp^er^o ^mu^y ^bi^en^ j^ej^ej^e^
Entonces si se mueve, pero no agarra nada...

Como podria resolver mi problema.

Muchas Gracias por su atencion prestada.
  #2 (permalink)  
Antiguo 17/12/2010, 22:09
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Duda con cambiar un valor dentro de un For

Ok dejame ver si entendi, entonces si tengo "python" regresaría "PYthON" ?

Si es así, entonces te recomendaría checar tu for.
Código Python:
Ver original
  1. text = "hola como estas, espero muy bien jejeje"
  2. longuitud = len(text)
  3. final = ""
  4. for i in range(0, longuitud, 4):#Ir de 4 en 4, 2 para mayusculas y 2 para minusculas.
  5.     final += text[i:i+2].upper() + text[i+2:i+4]
  6. print final
  #3 (permalink)  
Antiguo 17/12/2010, 22:46
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Duda con cambiar un valor dentro de un For

Gracias por la idea razpeitia, realmente era si escribo "python" regresaria "PyThOn"

Pero ya lo arregle de la siguiente manera...Ya vi como funciona entonces. Te agradezco, como sea tendre que revisar unas veces mas el codigo para captar perfectamente la idea.

Código Python:
Ver original
  1. #!/usr/bin/python
  2. text = "python"
  3. longuitud = len(text)
  4. final = ""
  5. for i in range(0, longuitud, 2):
  6.     final += text[i:i+1].upper() + text[i+1:i+2]
  7. print final

Saludos ;)
  #4 (permalink)  
Antiguo 17/12/2010, 22:56
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Duda con cambiar un valor dentro de un For

Si ese es el caso entonces no necesitas usar la notación "slice" bastaría con un:

Código Python:
Ver original
  1. text = "python"
  2. longuitud = len(text)
  3. final = ""
  4. for i in range(0, longuitud, 2):
  5.     final += text[i].upper() + text[i+1:i+2]
  6. print final

Edito: Por lo menos para el primer punto.
  #5 (permalink)  
Antiguo 17/12/2010, 23:17
 
Fecha de Ingreso: marzo-2009
Mensajes: 25
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Duda con cambiar un valor dentro de un For

Cierto tambien asi funciona. Gracias por el tip razpeitia :)

Etiquetas: Ninguno
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 03:28.