关于抛硬币问题的Python代码

7 投票
11 回答
82934 浏览
提问于 2025-04-16 20:20

我正在用Python写一个程序,模拟抛硬币100次,并计算总共抛了多少次。问题是我还想打印出正面和反面的总数。

这是我的代码:

import random
tries = 0
while tries < 100:
    tries += 1
    coin = random.randint(1, 2)
    if coin == 1:
        print('Heads')
    if coin == 2:
        print ('Tails')
total = tries
print(total)

我一直在绞尽脑汁想解决办法,但到现在还没有头绪。有没有什么方法可以在打印总抛掷次数的同时,也打印出正面和反面的数量呢?

11 个回答

4

你有一个用来记录尝试次数的变量,这样你可以在最后打印出来。对于正面和反面也可以用同样的方法。先在循环外面创建一个 heads(正面)和 tails(反面)的变量,然后在对应的 if coin == X 语句块里面增加它们的值,最后再把结果打印出来。

17

在编程中,有时候我们需要把一些东西放到一个地方,然后再从那个地方取出来。这个过程就像把东西放进一个盒子里,等需要的时候再打开盒子拿出来。

在代码中,我们可以用一些特定的结构来实现这个功能,比如数组、列表或者字典。这些结构就像是不同类型的盒子,可以存放不同种类的数据。

当我们把数据放进去后,我们可以通过一些简单的指令来访问这些数据,就像打开盒子查看里面的东西一样。

总之,理解这些数据结构就像学会如何使用不同的盒子来整理和存储你的东西,方便你在需要的时候快速找到它们。

import random

samples = [ random.randint(1, 2) for i in range(100) ]
heads = samples.count(1)
tails = samples.count(2)

for s in samples:
    msg = 'Heads' if s==1 else 'Tails'
    print msg

print "Heads count=%d, Tails count=%d" % (heads, tails)
4

在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后把它放到另一个地方。这就像是把书从一个书架搬到另一个书架一样。

有些时候,我们会遇到一些问题,比如数据的格式不对,或者我们想要的数据没有被正确地获取到。这就像是你想要一本特定的书,但却发现书架上没有,或者书的封面和内容不匹配。

为了避免这些问题,我们可以使用一些工具和方法来确保我们获取的数据是正确的,并且能够顺利地搬到目标位置。这就像是使用一个清单来确保你搬家时没有忘记带任何东西。

总之,处理数据就像是搬东西,我们需要确保每一步都做对,这样才能顺利完成任务。

import random

total_heads = 0
total_tails = 0
count = 0


while count < 100:

    coin = random.randint(1, 2)

    if coin == 1:
        print("Heads!\n")
        total_heads += 1
        count += 1

    elif coin == 2:
        print("Tails!\n")
        total_tails += 1
        count += 1

print("\nOkay, you flipped heads", total_heads, "times ")
print("\nand you flipped tails", total_tails, "times ")

撰写回答