gpt4 book ai didi

python - 如何使用python限制同一字母的最长序列

转载 作者:太空宇宙 更新时间:2023-11-03 21:44:11 26 4
gpt4 key购买 nike

如何使用 python 确定同一字母的最长序列?

例如,我使用以下代码打印具有 3 个条件 A、B 和 C 的打乱列表

from random import shuffle
condition = ["A"]*20
condition_B = ["B"]*20
condition_C = ["C"]*20

condition.extend(condition_B)
condition.extend(condition_C)
shuffle(condition)
print(condition)

现在我想确保相同的情况不会连续发生超过三次。

例如,允许:[A, B, C, A, B, B, C, C, C, A, B….]不允许:[A, A, B, B, B, B, C, A, B...](因为连续有四个 B)

如何解决这个问题?预先感谢您。

最佳答案

也许您应该按顺序构建列表,而不是随机排列:

result = []
for i in range(60): # for each item in original list
start = true # we haven't found a suitable one yet
if start or i>2: # don't do checking unless 3 items in list
while start or (
c==shuf[-1] and # is the chosen value
c==shuf[-2] and # the same as any of
c==shuf[-3] ): # the last 3 items?
idx = random.randint(0,len(condition)) # chose a new one
c = condition[idx]
start = false
result.append(c) # add to result
del condition[i] # remove from list

警告!未经测试 - 只是概念性...

关于python - 如何使用python限制同一字母的最长序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52611946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com