帮我用python写一个仿真实验,假设有输入设置有n个硬币,将这些硬币随机抛出,将正面朝上的硬币挑出,剩下的硬币继续抛。直到所有硬币都正面朝上,输出一共抛了多少次。
时间: 2023-02-15 15:33:07 浏览: 95
turn-coins.rar_硬币正面朝上
你好,这是一个简单的仿真实验。下面是用 Python 写的代码示例:
```
import random
def simulate(n):
flips = 0
while True:
# 抛出所有硬币
coins = [random.randint(0, 1) for _ in range(n)]
# 统计正面朝上的硬币数量
heads = sum(coins)
flips += 1
# 如果全部都是正面朝上,就退出循环
if heads == n:
break
return flips
# 测试
print(simulate(10))
```
在这个代码中,我们使用了 `random.randint(a, b)` 函数生成一个 0 到 1 之间的随机整数。我们将这些随机数看作硬币抛出后正面朝上 (1) 或背面朝上 (0)。我们使用 `while` 循环不断抛出硬币,直到所有硬币都是正面朝上。我们使用 Python 的内置函数 `sum` 对正面朝上的硬币数量进行统计,如果正面朝上的硬币数量等于输入的硬币数量 n,就退出循环。
希望这个示例能帮到你!
阅读全文