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

Python中如何在循环中正确使用random.choice实现随机选择?

问题修正:实现随机选择列表元素直到选中"yellow"

你的核心问题是原代码用for循环遍历列表,没有真正实现随机选择逻辑。下面是修正方案及关键说明:

原代码问题分析

原代码里的for side in sides是按顺序遍历列表元素,本质是模拟了一次顺序查找,完全没有用到随机选择逻辑。而且开头的random.choice(sides)语句没有被实际使用,属于冗余代码。

修正后的代码

import random 

flips = 0
sides = ["blue", "blue", "blue", "blue", "yellow", "blue"]

while True:
    flips += 1
    selected_side = random.choice(sides)
    if selected_side == "blue":
        print(f"第{flips}次翻转,结果是blue")
    else:
        print(f"第{flips}次翻转,结果是yellow!")
        break

代码关键说明

  1. 用while True构建无限循环,直到选中"yellow"才终止循环
  2. 每次循环先递增flips计数(每次随机选择都算作一次翻转操作)
  3. 调用random.choice(sides)从列表中随机选取一个元素,这才是满足需求的核心随机逻辑
  4. 根据选择结果输出包含当前翻转次数的消息
  5. 选中"yellow"时,输出对应消息后用break跳出循环

示例输出(每次运行结果随机,仅作参考)

第1次翻转,结果是blue
第2次翻转,结果是blue
第3次翻转,结果是yellow!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:57:04