创建并随机插入重复项
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
这可能不是一个常见问题,但我想创建重复项并将其随机插入到我的字符串中。就像下面的例子。
我有这个文件:
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