擅长:python、mysql、java
<p>下面是您的代码的更好版本:</p>
<pre><code>import random
num = int(input('How many rolls do you want to simulate? '))
rolls = {}
for k in range(2, 13):
rolls[k] = 0
doubles = 0
for k in range(num):
first = random.randint(1, 6)
second = random.randint(1, 6)
if first == second:
doubles+=1
rolls[first+second]+=1
for k in rolls:
print('%d - %d %f%%' %(k, rolls[k], float(rolls[k])/float(num)*100))
print('Doubles - %d - %f%%' %(doubles, float(doubles)/float(num)))
</code></pre>
<p>其运行方式为:</p>
<pre><code>How many rolls do you want to simulate? 10000
2 - 286 2.860000%
3 - 571 5.710000%
4 - 788 7.880000%
5 - 1066 10.660000%
6 - 1393 13.930000%
7 - 1731 17.310000%
8 - 1470 14.700000%
9 - 1034 10.340000%
10 - 840 8.400000%
11 - 541 5.410000%
12 - 280 2.800000%
Doubles - 1669 - 0.166900%
</code></pre>
<p>你的问题是,如果有两个数,你只在和中加一个,<strong>这就是为什么你只有偶数卷的结果。</strong>你还有<code>{{1:0.6f}%</code>这应该是<code>{1:0.6f}%</code>。</p>