我正在做一个程序,我需要生成一个列表中的随机值。用户被要求输入他们想要在二维网格上生成多少个随机值(箱子-用字母“T”表示)。问题是,当用户键入“8”作为他们想要生成的随机“箱子”的数量时,有时只有5或6个箱子被生成到网格中(可能是因为随机整数重复到网格中,并且不在网格中的唯一点进行索引)。箱子的数量从来没有精确地表示到网格中。如何确保将所有随机值分配给二维网格上的唯一索引?你知道吗
def chests():
global chest
chest = int(input("How many chests would you like in the game?"))
for i in range(0,chest):
board[randint(0, 4)][randint(0, 4)] = "T"
return board
在我看来,您需要生成所有可能的索引,然后随机选择一个“总体”:
结果是
O(BOARD_SIZE^2)
。有更复杂的方法,例如,不需要生成整个董事会的指数,您可以对扁平董事会的总体进行抽样,然后生成指数:结果是
O(chest_count)
这可能比电路板的大小小得多,但是,我怀疑你的电路板是否足够大以至于有意义:-)。你知道吗相关问题 更多 >
编程相关推荐