import random
def mezclaCadena(cadena):
"""
Funcion que recibe una cadena y la mezcla sin repetir ninguno de sus valores
Devuelve la cadena resultante
"""
# Variable que contendra la nueva palabra mezclada
nuevaCadena=""
# Variable que contiene la posicion de los valores ya mezclados.
# Se utiliza para que no se repitan los valores
posicionesUtilizadas=[];
# Realizamos un bucle, mientas las posiciones utilizadas para la nueva palabra
# sean inferiores a la longitud de la cadena a mezclar
while len(posicionesUtilizadas)<len(cadena):
# Cogemos un valor aleatorio
aleatorio=random.randint(0,len(cadena)-1)
# Si el valor aleatorio no se esta utilizando
if not aleatorio in posicionesUtilizadas:
# Anadimos el nuevo valor a la lista posicionesUtilizadas
posicionesUtilizadas.append(aleatorio)
# Creamos la nueva
nuevaCadena+=cadena[aleatorio]
return nuevaCadena
# Solicitamos la cadena a mezclar
cadena = raw_input('Indica una palabra o frase a mezclar: ')
print mezclaCadena(cadena)
Comentarios sobre la versión: Versión 1 (1)