Python - Invertir palabra

 
Vista:

Invertir palabra

Publicado por Juan (8 intervenciones) el 19/10/2016 22:02:02
Necesito crear una funcion que genere un nuevo string en donde la primera mitad del string cambia con la segunda mitad. Por ejemplo el string HolaComo queda ComoHola. Lo empece asi pero en vez de imprimir ComoHola, imprime CHolaomo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def Rotacion(t):
    l = len(t)
    k = 1
    p1 = t[0]
    p2 = ""
    for k in range(1, l):
        if t[k].islower():
            p1 = p1 + t[k]
            k = k + 1
        else:
            p2 = p2 + t[k]
            k = k + 1
    print(p2 + p1)
 
 
texto = input("Ingrese el texto")
x = Rotacion(texto)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
sin imagen de perfil
Val: 7
Ha disminuido su posición en 16 puestos en Python (en relación al último mes)
Gráfica de Python

Invertir palabra

Publicado por Victor (4 intervenciones) el 20/10/2016 04:13:39
Hola, puedes investigar un poco las palabras reservadas, se puede usar el reverse para invertir las posiciones de una string, el split es para separar las letras y poder cambiar las posiciones, posteriormente imprimo el resultado que es "c" (abreviado de cambio)
Es una forma sencilla de hacerlo, pero tambien se puede hacer de la forma manual que es lo que haces, pero requiere mucho codigo y el codigo mas sencillo es el mas efectivo por una logica simple y porque no hay recargo del sistema.
Te servira revisar el 9.10 del siguiente documento http://docs.python.org.ar/tutorial/2/classes.html

1
2
3
4
5
6
p = raw_input("Ingresar palabra: ")
 
p.split()
 
c=''.join(reversed(p))
print c
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Invertir palabra

Publicado por tincopasan (1082 intervenciones) el 20/10/2016 04:20:50
¿no sería algo más fácil esto?:
1
2
3
4
5
6
7
8
9
def revertir(palabra):
    largo=len(palabra)
    mitad=int(largo/2)
    palabra1= palabra[:mitad]
    palabra2= palabra[mitad:]
    print(palabra2+palabra1)
 
texto= input("Ingrese el texto: ")
x=revertir(texto)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 7
Ha disminuido su posición en 16 puestos en Python (en relación al último mes)
Gráfica de Python

Invertir palabra

Publicado por Victor (4 intervenciones) el 20/10/2016 04:27:48
a bueno, lei a prisas y no vi lo que dicia el enunciado, es la palabra... en ese caso es una logica similar a esta la del compañero

1
2
3
4
5
6
7
8
9
def revertir(palabra):
    largo=len(palabra)
    mitad=int(largo/2)
    palabra1= palabra[:mitad]
    palabra2= palabra[mitad:]
    print(palabra2+palabra1)
 
texto= str(raw_input("Ingrese el texto: "))
x=revertir(texto)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Invertir palabra

Publicado por Juan (8 intervenciones) el 20/10/2016 04:41:34
Eso solamente funciona cuando la palabra 1 tiene el mismo largo que la palabra 2. Al final lo hice asi, primero separe las dos palabras que estan dentro del string y despues las uni.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def Rotacion(t):
    l = len(t)
    k = 1
    p1 = t[0]
    p2 = ""
    while k < l and t[k].islower():
        p1 = p1 + t[k]
        k = k + 1
    while k < l:
        p2 = p2 + t[k]
        k = k + 1
    print(p2 + p1)
 
 
texto = input("Ingrese el texto")
x = Rotacion(texto)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar