Skip to main content
 首页 » 编程设计

python之将一个骰子转换为两个骰子

2025年05月04日14JeffreyZhao

我是 Python 的新手,现在我的代码刺激滚动 一个 骰子 1,000 次,但是我只需要一些改进,让它刺激滚动 两个 骰子 1,000次。

到目前为止,这是我所拥有的,它运行良好,只是需要一些改进:

import random 
test_data = [0, 0, 0, 0, 0, 0] 
n = 1000 
for i in range(n): 
  result = random.randint(1, 6) 
  test_data[result - 1] = test_data[result - 1] + 1 
 
for i in range(0, 6): 
  print ("Number of ", i+1, "'s: ", test_data[i]) 

关于如何让两个骰子滚动并获得与我的代码现在正在做的类似输出的任何建议是这样的:

Number of  1 's:  180 
 
Number of  2 's:  161 
 
Number of  3 's:  179 
 
Number of  4 's:  159 
 
Number of  5 's:  146 
 
Number of  6 's:  175 

请您参考如下方法:

在这种情况下,结果是 2 和 12 之间的数字。为简单起见,最好保留第一个索引。

test_data 列表因此需要增加以存储 12 项,作为 result 我们应该调用 random.randint( 1, 6) 两次(不是两次),并将它们加在一起:

import random 
 
test_data = [0] <b>* 12</b> 
n = 1000 
for i in range(n): 
  # adding up two dices 
  result = random.randint(1, 6) <b>+ random.randint(1, 6)</b> 
  test_data[result - 1] <b>+= 1</b> 
 
for i, x in <b>enumerate(</b>test_data<b>, 1)</b>: 
  print ("Number of ", i, "'s: ", x)

在这里写+= 1也更优雅,而不是= ... + 1,因为这里我们避免写test_data[result - 1] 两次。此外,在 Python 中,通常直接枚举集合,而不是索引。可以使用 enumerate(iterable, start_index) 生成一个二元组 (i, n) 的可迭代对象,i 是索引,x 与该索引相关的集合元素。