- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在用 python 2.7 编写一个程序,该程序将掷骰子,然后计算每个数字掷了多少次。但似乎无法解决这个问题。
它返回:回溯(最近一次调用最后一次): 文件“DiceRoller.py”,第 16 行,位于 计数器[s] += 1关键错误:3 从随机导入 randint
while True:
z = raw_input("How many sides should the dice(s) have?\n> ")
i = 0
x = raw_input("How many dices do you want?\n> ")
dice = {}
while i <= int(x):
dice[i] = randint(1,int(z))
i += 1
counter = {}
for p, s in dice.iteritems():
counter[s] += 1
print counter
raw_input("Return to restart.")
最佳答案
您将每个计数器设置为值+1
:
counter[s] =+ 1
# ^^^
您没有在那里使用+=
; Python 将其视为:
counter[s] = (+1)
交换+
和=
:
counter[s] += 1
这将引发异常,因为 key s
不会第一次出现;在这种情况下,使用 counter.get()
获取默认值:
counter[s] = counter.get(s, 0) + 1
或使用 collections.defaultdict()
object而不是普通的字典:
from collections import defaultdict
counter = defaultdict(int)
for s in dice.itervalues():
counter[s] =+ 1
或使用 collections.Counter()
object进行计数:
from collections import Counter
counter = Counter(dice.itervalues())
关于python - 骰子计数器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28917642/
我刚刚向自己介绍了 WebGL 和 Threejs,作为开始,我正在尝试创建一个 3D 骰子。我已经到了创建立方体的地步,但我真的不知道如何在立方体的面上放置数字,我能找到的只是如何更改颜色。我已经查
这就是我现在得到的...... var max = 7; var min = 1; $('#dice').click(function() { random = Math.floor(Math.r
我是 Unity 的新手,一直在尝试掷骰子。我遇到了一组教程,它们允许我创建一个 3d 模具(模具使用 Rigidbody 和 Mesh Collider)并编写脚本使其在空格键上滚动,如下所示: 骰
我是 JavaScript 新手,我需要一些想法/帮助来了解如何使我的脚本正常工作。所以我们的想法是,你掷两个骰子,通过按下“掷骰子”按钮然后按下重置按钮来重置整个 HTML 中的所有内容。 所以事情
我正在尝试构建一个掷骰子游戏,如果计算机自动掷出一对骰子,并且如果 cpu 掷出 7 或 11,则用户获胜。然而,如果用户掷出 2、3 或 12,他们将自动失败。如果用户滚动任何其他数字(4、5、6、
背景 如此处所述http://www.ericharshbarger.org/dice/#gofirst_4d12 , “先走”骰子是一组四个骰子,每个都有唯一的编号,因此: 任何两个或更多骰子都不会
我是一名优秀的程序员,十分优秀!