棋盘上棋子的随机定位

2024-06-25 22:48:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想(伪)随机定位一个网格上的数字点。把它想象成10 x 10的棋盘(有100个正方形),把这些点想象成棋盘上的棋子,每个棋子占据一个正方形。我想要的是棋子“均匀”地分布在棋盘上。中间平方法是生成随机数的好方法。你知道吗

00  01  02  03  04  05  06  07  08  09
10  11  12  13  14  15  16  17  18  19
20  21  22  23  24  25  26  27  28  29
30  31  32  33  34  35  36  37  38  39
40  41  42  43  44  45  46  47  48  49
50  51  52  53  54  55  56  57  58  ... 

我的问题是,如果我将网格正方形存储为列表,并从左上角到右下角绘制它们,那么正方形9就不会像您所期望的那样紧挨着10。10,与0和20相邻。最好的办法是什么?你知道吗


Tags: 方法定位网格列表棋盘绘制数字想象
2条回答

列表中的元素编号从零开始,而不是1。所以你的第一个正方形有数字0(你看到了吗?)第十个正方形有9号。这就是为什么第二排的第一个正方形有数字10而不是11。因为0+10=10。如果要打印从1开始的数字,可以将1添加到print中的一个平方数:

print (square[number] + 1)

由于我没有看到你的代码,我不能提供一个更好的代码例子,这将完美地传递给你的代码。你知道吗

仅仅因为你将最后的正方形存储为一个列表,并不意味着你必须在一个线性范围内生成随机数。如果你知道你有,比如说,一个100x100的网格,然后分别选择X和Y坐标来选择点,然后填写100*X+Y的平方数

如果你想让点随机分布,那么只要确保你从均匀的随机分布0..99中选择X和Y。如果你想让点均匀分布,可以使用Halton序列。你知道吗

相关问题 更多 >