所以我目前正在使用以下方法生成一系列字符作为字符串:
def nth(lists, num):
res = []
for a in lists:
res.insert(0, a[num % len(a)])
num //= len(a)
return res
def generate_page(chars, length, iteration):
result = nth([chars] * length, iteration)
return "".join(result)
length = 15
seed = 16
number = generate_page('0123456789ABC', length, seed)
但是我无法理解的是,如果我知道我想要多少每个字符,我将如何生成一系列字符。
例如,假设我想生成一个具有 1 个“A”、3 个“B”和 1 个“C”的序列,我如何才能获得“ABBBC”的任何排列?
我想我只是连接一个我知道我想要的金额列表,然后像这样把它们打乱:
A = 1
B = 3
C = 1
listOfCharacters = ["A"]*A + ["B"]*B + ["C"]*C
>>> ['A', 'B', 'B', 'B', 'C']
random.seed(1)
listOfCharacters = random.shuffle(listOfCharacters)
>>> None
listOfCharacters = ''.join(listOfCharacters)
>>> TypeError
但目前我显然得到了一个 TypeError,我什至不确定这是否是检索所有排列而不用种子重复的最佳途径。
陪伴而非守候
aluckdog
慕姐4208626
相关分类