Python彩票分析:如何统计break前打印的随机数数量?
统计循环终止前打印的数字数量
要统计这段代码在终止前打印了多少个数字,只需要加个计数器变量就行,修改后的代码如下:
import random count = 0 for i in range(1000): my_ticket = random.randint(1, 1000) if my_ticket % 100 == 0: break else: print(my_ticket) count += 1 print(f"循环终止前共打印了 {count} 个数字")
逻辑说明
- 先定义
count变量初始为0,专门用来记录打印的数字个数 - 每次生成的随机数不是100的倍数时,打印完数字就给
count加1 - 一旦碰到100倍数的数,循环直接终止,最后输出的
count数值就是你要的结果
概率补充
1-1000里100的倍数有10个,所以每次随机生成到目标数的概率是1/100。这属于几何分布场景,平均下来,预期会打印99个数字后才碰到终止条件(期望公式:(1-p)/p,这里p=1/100,计算结果为99)。
内容的提问来源于stack exchange,提问作者venzo
相关产品推荐
相关产品推荐

