You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在if语句中实现80%的执行概率?

实现80%概率执行的if语句

要实现每次循环中if分支有80%概率被执行,核心是借助随机数生成器控制分支走向。你的原代码问题在于z只赋值一次,会导致循环全程输出相同结果,无法实现每次独立的概率判断。以下是两种完善方案:

方案1:用random.random()直接判断

import random

i = 0
while i < 10:
    # 生成0-1之间的随机浮点数,小于0.8的概率为80%
    if random.random() < 0.8:
        print(True)
    else:
        print(False)
    i += 1

方案2:用random.choices()指定权重

import random

i = 0
while i < 10:
    # 按80%/20%的权重随机选择True或False
    z = random.choices([True, False], weights=[80, 20])[0]
    if z:
        print(True)
    else:
        print(False)
    i += 1

关键说明

  • 必须先导入Python内置的random模块,用于生成符合概率要求的随机结果。
  • 一定要在每次循环内部生成随机值,才能保证每次迭代都独立遵循80%的概率规则。如果只在循环外生成一次z,循环会全程输出同一个结果,不符合需求。

内容的提问来源于stack exchange,提问作者luscgu00

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 05:01:44