使用count()计算某事物在lis中出现的次数

2024-05-02 01:38:31 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,你好。我不相信这已经出现了,所以纠正我,如果有。你知道吗

我正在创建一个骰子滚动模拟器,返回滚动数字的频率以及滚动数字。可以输入边数和卷数。有人告诉我,这是一个很好的开端。我使用count()计算每个数字出现在列表上的次数。你知道吗

这就是问题的症结所在关了。关了列表中的最高值比其应有值小一个,例如:

你有一个6面骰子,你掷6次。你得到1,2,3,4,5和6。当它显示引用时,它将显示除最高值以外的所有值为1。上面说6次出现0次。你知道吗

下面是代码板:

    a.sort()
    topvalue = a.pop()
    while topvalue >= 0:
        y = a.count(topvalue)
        print topvalue, "appears", y< "times."
        topvalue = topvalue-1
        if topvalue == -1:
            break

回到我的例子,由于它的编码方式,如果6真的没有出现,它甚至不会被打印出来,但它是。希望你和你的Python智慧能有所帮助!你知道吗


Tags: 代码列表count数字模拟器骰子sort次数
1条回答
网友
1楼 · 发布于 2024-05-02 01:38:31

在此处获取最后一个元素,而不是:

topvalue = a.pop()

执行:

topvalue = a[-1]  # This represents the last index.

这是因为^{}实际上删除了最后一个元素,因此出现了一次性错误。你知道吗


虽然作为一个想法,在你的位置上我会:

from collections import Counter

amounts = Counter(a)
for item, num in amounts.items():
    print('{0} occurred {1} times'.format(item, num))

相关问题 更多 >