微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将一个数字在 python 3 中掷骰子的总次数相加 列表:字典:

如何解决将一个数字在 python 3 中掷骰子的总次数相加 列表:字典:

我制作了一个双面骰子随机生成器,但我需要让程序在底部打印出来 1 被滚动 x 次 2 被滚动 x 次 等等。 我怎样才能做到这一点。

我的代码是:

import random
print("Six sided dice programme")
count = 1
while True:
    answer = str(input("would you like to roll,'y' for yes,'n' for no:"))
    if answer == 'y':
        roll=random.randint(1,6)
        print("roll number",str(count),":",roll)
        count = count + 1
    if answer == "n":
        print("Game over")
        break

解决方法

您将计数保存在整数 count 变量中。更改为表示骰子每一面计数的列表/字典。

列表:

import random

counts = [0] * 6
for i in range(10):
    roll = random.randint(1,6)
    print("roll number",i,":",roll)
    counts[roll-1] += 1

for side,count in enumerate(counts):
    print(side+1,"was rolled",count,"amount of times")

字典:

import random
from collections import defaultdict

counts = defaultdict(int)
for i in range(10):
    roll = random.randint(1,i+1,roll)
    counts[roll] += 1

for side,count in counts.items():
    print(side,"amount of times")

* 这将按照每边第一次出现的顺序打印计数

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。