2013-11-22 61 views
0

我正在制作一个用户掷骰子的游戏,这个工作正常,然后我计算每个数字在我的countVals函数中滚动了多少次,但是它计数不正确,它计数1位数关闭。计数器增加了一个额外的数字

如果掷骰 5,1,3,1,5

计数

预期的结果将是 2,0,1,0,2,因为它计算了多少次,每次手指已经发生

实际结果是目前 0,2,0,1,0,2

代码如下

for x in range (6): 
    #counter = dice.count(x) 
    print(dice.count(x) 
+0

1.如果你想要1到6的结果,使用'randint(1,6)'; 'randrange(1,6)'给出1到6的结果(不包括6)。 2.你的'范围(6)'使'x'从0到5包含 - 这不是你想要的。 –

回答

0
for x in range (6): 

试试这个:

for x in range (1, 7): 
0

它看起来像你的范围是关闭的(他们需要半开间隔)。

randrange(1, 7)  # die roll is one of {1,2,3,4,5,6} 

计数同样应遍历:

for x in range(1, 7): 
     print(dice.count(x)) 
0

变化范围为:

random.randrange(1,7,1) 

切记参数是:

randrange(start, end, step) 

并且它返回一个值在[0,end-1]与特定步骤之间的值。

+0

最好使用'randint',它包含两个端点。 – Blckknght