Как сделать случайное, но частичное перемешивание в Python?

Вместо полного перемешивания я ищу для функции частичного перемешивания в python.

Пример: «строка» должна вызывать «stnrig», но не «nrsgit»

Было бы лучше, если бы я может определить конкретный «процент» символов, которые необходимо переставить.

Цель состоит в том, чтобы проверить алгоритмы сравнения строк. Я хочу определить «процент перемешивания», за которым (мой) алгоритм будет отмечать две (перемешанные) строки как совершенно другое.

Обновление:

Вот мой код. Мы приветствуем улучшения!

import random

percent_to_shuffle = int(raw_input("Give the percent value to shuffle : "))
to_shuffle = list(raw_input("Give the string to be shuffled : "))

num_of_chars_to_shuffle = int((len(to_shuffle)*percent_to_shuffle)/100)

for i in range(0,num_of_chars_to_shuffle):
    x=random.randint(0,(len(to_shuffle)-1))
    y=random.randint(0,(len(to_shuffle)-1))
    z=to_shuffle[x]
    to_shuffle[x]=to_shuffle[y]
    to_shuffle[y]=z

print ''.join(to_shuffle)
6
задан 384X21 1 December 2011 в 17:42
поделиться