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

Python模拟赌徒破产问题:求100次试验的最大/最小掷币次数

赌徒破产问题解决方案

首先,你需要先导入random模块(你的代码里漏掉了,否则会报错),然后通过一个列表来记录每次模拟的掷币次数,最后用Python内置的max()和min()函数就能轻松得到最大值和最小值。修改后的代码如下:

import random

# 用来存储每次模拟的掷币次数
flip_counts = []

# 重复100次模拟
for _ in range(100):
    balance = 3
    count = 0
    while balance > 0:
        # 掷硬币:1代表正面赢1,2代表反面输1
        flip = random.randint(1, 2)
        if flip == 1:
            balance += 1
        else:
            balance -= 1
        count += 1
    # 把这次模拟的掷币次数加入列表
    flip_counts.append(count)

# 计算并打印最大、最小掷币次数
max_flips = max(flip_counts)
min_flips = min(flip_counts)

print(f"100次模拟中,最多掷币次数:{max_flips}")
print(f"100次模拟中,最少掷币次数:{min_flips}")

关键说明:

  • 用flip_counts列表保存每次模拟结束后的掷币次数,收集所有数据后方便后续计算。
  • Python内置的max()函数会从列表中找出最大数值,min()函数找出最小数值,直接调用即可,无需自行编写复杂逻辑。
  • 移除了冗余的中间打印语句,只保留最终结果输出,避免过多干扰信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 19:18:15