Вместо полного перемешивания
я ищу для функции частичного перемешивания
в 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)