创建并随机插入重复项

create and insert randomly duplicates

这可能不是一个常见问题,但我想创建重复项并将其随机插入到我的字符串中。就像下面的例子。

我有这个文件:

AppleStrawberryBananaCitrusOrange

我期待这样的输出:

trusppleStrawbeApplertrusryBananaCitrusOrangepple

在这种情况下,我的程序随机 select 一个长度为 '4' 的子串:'pple' 和 'trus' 并在插入之前复制他 'twice(2)'。

我认为我可以 运行 通过使用带有 copy.copy() 和 copy.insert() 的函数副本来编写程序,但我真的不知道如何随机使用它.

目前;我只是写了部分读写代码和其他东西:

import copy

chain='*'
contain = ''

file= raw_input ('Filename:')


x = open(file,'r')

for line in x:
  
if not(chain in line):
 contain+=line
 e=copy.copy(contain[4:8])
 f=copy.copy(contain[8:12])


y = open('copi','w')


y.write(contain)
y.write(f)



x.close()

结果:

AppleStrawberryBananaCitrusOrange
awbe

如你所见;它并没有真正像我想要的那样工作。 :(

感谢您的帮助

不确定我是否理解您的意图。

你可能需要一个随机库 selection:

import random

现在这是您的输入字符串:

s = "AppleStrawberryBananaCitrusOrange"
print s

可以用random.randint到select一个随机位置,提取一个4字的单词:

i = random.randint(0, len(s) - 4)
w = s[i:i+4]
print w

最后,您可以 select 两个随机位置并通过字符串连接插入单词:

for j in range(2):
    i = random.randint(0, len(s) - 4)
    s = s[:i] + w + s[i:]
print s

输出:

AppleStrawberryBananaCitrusOrange
yBan
ApyBanpleSyBantrawberryBananaCitrusOrange