Dada una cadena alfanumérica devuelve su inversa. Lo que hace es cambiar de orden los caracteres del string.
Método 1
Esta es, posiblemente, la forma más rápida de invertir una cadena.#Método 1
miCadena="La contraseña es abracadabra"
def invierte1(cadena):
return cadena[::-1]
print(invierte1(miCadena))
Método 2
Creamos un bucle for y recorremos todos los elementos de la cadena de principio a fin, poniendo cada elemento al final.#Método 2
miCadena="Radar o no radar"
def invierte2(cadena):
inversa=""
for i in cadena:
inversa=i+inversa
return inversa
print(invierte2(miCadena))
Método 3
Creamos un for que va hacia atrás recorriendo todos los elementos del string.#Método 3
miCadena="Esto es Troya"
def invierte3(cadena):
inversa=""
for i in range(len(cadena),0,-1):
#print(i) imprimiría del 5 al 1, por eso luego restamos 1
inversa+=cadena[i-1]
return inversa
print(invierte3(miCadena))
Método 4
Usando un for recorremos todos los elementos de la cadena.#Método 4
miCadena="El maestro Uruburu"
def invierte4(cadena):
invertida=''
for i in cadena:
invertida=i+invertida
return invertida
print(invierte4(miCadena))
Una variante: Invertir las letras de cada palabra de una frase sin cambiar de orden las palabras
Si queremos invertir el orden de las letras de cada palabra dentro de una frase pero sin cambiar de orden las palabras utilizando el siguiente código conseguiríamos este cambio en la frase:
amigos esto es magia 🡢 sogima otse se aigam
mi_frase="amigos esto es magia"
frase=mi_frase.split()
def invierte(cadena):
return cadena[::-1]
frase_inversa=[]
for palabra in frase:
frase_inversa.append(invierte(palabra))
print(' '.join(frase_inversa))
si quiero intercambiar los valores pero no porcompleto, sino el primero al final, el segundo al penultimo,etc ¿como hago ?
ResponderEliminarHola.
EliminarMe imagino que te refieres a invertir las letras de cada palabra dentro de una frase pero sin invertir el orden las palabras. Por ejemplo: "amigos esto es magia" sería "sogima otse se aigam".
Para conseguir esto podrías emplear el siguiente código:
mi_frase="La contraseña es abracadabra"
frase=mi_frase.split()
def invierte(cadena):
return cadena[::-1]
frase_inversa=[]
for palabra in frase:
frase_inversa.append(invierte(palabra))
print(frase_inversa)
print(' '.join(frase_inversa))