编写程序模拟硬币的投掷。假设0表示硬币的反面,1表示硬币的正面。在程序中让计算机产生若干次(建议大于 100 次)随机数,统计0和1分别出现的次数,并观察0和1出现的次数是否相同。
时间: 2024-05-09 12:21:44 浏览: 97
好的,您可以试着运行以下Python程序:
```python
import random
num_flips = 1000 # 设定硬币投掷次数
num_heads = 0 # 正面出现的次数计数器
num_tails = 0 # 反面出现的次数计数器
for i in range(num_flips):
if random.randint(0, 1) == 0:
num_tails += 1
else:
num_heads += 1
print("正面出现的次数:", num_heads)
print("反面出现的次数:", num_tails)
if num_heads == num_tails:
print("正面和反面出现的次数相同")
else:
print("正面和反面出现的次数不相同")
```
该程序首先设定投掷硬币的次数,并设定两个计数器来记录正面和反面出现的次数。在循环中,使用`random.randint()`函数随机产生一个0或1,表示硬币正面或反面的出现。如果随机数为0,则计数器`num_tails`加1,如果是1,则计数器`num_heads`加1。循环结束后,打印出正面和反面出现的次数,并判断是否相同。
相关问题
编写程序模拟硬币的投掷。假设0表示硬币反面,1表示硬币正面。在程序中让计算机产生若干次(建议大于100次)随机数,统计0和1分别出现的次数,并观察0和1出现的次数是否相同。
以下是Python代码实现:
```python
import random
num_of_tosses = 1000 # 投掷次数
heads = 0 # 正面朝上的次数
tails = 0 # 反面朝上的次数
for i in range(num_of_tosses):
toss = random.randint(0, 1)
if toss == 0:
tails += 1
else:
heads += 1
print("正面朝上的次数:", heads)
print("反面朝上的次数:", tails)
if heads == tails:
print("正反面出现次数相同")
else:
print("正反面出现次数不同")
```
输出结果类似于:
```
正面朝上的次数: 530
反面朝上的次数: 470
正反面出现次数不同
```
每次运行结果都会有所不同,但是正反面出现次数大致相同。
编写程序模拟硬币的投掷。假设0表示硬币的反面,1表示硬币的正面。在程序中让计算机产生若干次(建议大于100次)随机数,统计0和1分别出现的次数,并观察0和1出现的次数是否相同
。代码如下:
```python
import random
num = int(input("请输入投掷次数:"))
count_0 = 0 # 记录0出现的次数
count_1 = 0 # 记录1出现的次数
for i in range(num):
result = random.randint(0, 1)
if result == 0:
count_0 += 1
else:
count_1 += 1
print(f"投掷{num}次,0出现了{count_0}次,1出现了{count_1}次。")
```
运行结果:
```
请输入投掷次数:1000
投掷1000次,0出现了482次,1出现了518次。
```
可以看到,0和1出现的次数差不多,符合随机性。当投掷次数增加时,两者出现的次数更趋于相等。
阅读全文