Código de Python - Mezclar una cadena sin repetir ningun valor

Imágen de perfil

Mezclar una cadena sin repetir ningun valorgráfica de visualizaciones


Python

estrellaestrellaestrellaestrellaestrella(1)
Actualizado el 26 de Mayo del 2016 por Xavi (Creado el 29 de Enero del 2013)
5.959 visualizaciones desde el 29 de Enero del 2013. Una media de 35 por semana
Función que dada una cadena, mezcla sus valores sin repetir ninguno de ellos.

Versión 1
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 15 de Junio del 2016 (Creado el 29 de Enero del 2013)gráfica de visualizaciones de la versión: Versión 1
5.960 visualizaciones desde el 29 de Enero del 2013. Una media de 35 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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)

Rafrael Lopez
19 de Agosto del 2016
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s2286