如何统计生成指定元素组合所需的while循环运行次数?
解决方案
要统计生成指定顺序组合时while循环的运行次数,你需要重复生成4元素组合直到匹配目标,同时累计每次生成单个元素的循环迭代次数。修改后的代码如下:
from random import choice random_list = ['a','b','c','d',1,2,3,4,5,6,7,8,9,10] # 设定需要匹配的目标组合 target = [4, 'a', 6, 7] # 初始化循环次数计数器 loop_count = 0 comb_list = [] while True: # 生成单个随机元素,每执行一次循环计数器+1 ran_sel = choice(random_list) comb_list.append(ran_sel) loop_count += 1 # 当组合长度达到4时,检查是否匹配目标 if len(comb_list) == 4: if comb_list == target: message = f"{comb_list[0]}{comb_list[1]}{comb_list[2]}{comb_list[3]}" print(f"匹配成功:{message}") print(f"while循环总共运行了{loop_count}次") break else: # 不匹配则清空组合,继续生成新的组合 comb_list = []
关键说明
target变量用于存储你需要匹配的指定顺序元素组合loop_count会累计每一次生成单个元素的while循环迭代次数(也就是原代码中while循环的每一次运行)- 外层通过
while True持续生成组合,直到匹配目标后终止循环 - 每次生成满4个元素后检查是否匹配,不匹配则清空列表重新生成,匹配则输出结果和总循环次数
内容的提问来源于stack exchange,提问作者bounty_python
相关产品推荐
相关产品推荐

