我需要随机生成一个只有'y'和'n'的定长字符串,字符串中'n'的个数由变量Njk决定。字符串必须像'yyyyynynynyyyyyy'或'yynyyyyyyyyyyy',我会生成大量的字符串。目前我正在做下面的代码。问题是,要生成 200 个长度为 16 的字符串,它可以正常工作,但是当我尝试生成 200 个长度为 33 的字符串时,执行需要很长时间,这使我的工作无法进行。我怎样才能以最佳/有效的方式做到这一点?
此致!
#
chaves = 16
Njk = 3
#Generating a random key state
def rand_estado():
aux2 = randint(0,1)
if aux2 == 0:
estado = 'n'
if aux2 == 1:
estado = 'y'
return estado
#Generating a random combination of key states with fixed number of 'y' and 'n'
def rand_estado_chaves():
radialidade = 0
#The condition that must be satisfied
while (radialidade != chaves - Njk):
estado_chaves = ""
#For each key
for i in range(chaves):
estado_chaves += rand_estado()
radialidade = estado_chaves.count('y')
return estado_chaves
jeck猫
海绵宝宝撒
qq_花开花谢_0
斯蒂芬大帝
相关分类