【问题标题】:Adding up total times a number was rolled on a dice in python 3将数字在python 3中掷骰子的总次数相加
【发布时间】:2021-08-18 18:46:38
【问题描述】:

我制作了一个双面骰子随机生成器,但我需要程序在底部打印出来 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

【问题讨论】:

标签: python sum dice


【解决方案1】:

您将计数保存在整数 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,6)
    print("roll number", i+1, ":", roll)
    counts[roll] += 1

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

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

【讨论】:

    猜你喜欢
    • 2022-07-23
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    • 2021-10-07
    • 2020-06-06
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多