选择列表的特定列表的多个索引

时间:2019-01-10 17:50:52

标签: python python-2.7 list random minesweeper

向阅读本文的人致以问候! 我被分配去用python创建一个扫雷程序,是的,我可以复制粘贴已经制作的程序,但是我想自己制作,但是我在这里的清单很难。 为了使事情更清楚一点,我将主列表命名为“ List”,其中还有10个游戏板行的列表,但 现在我必须添加地雷了,我找不到将它们随机放置在列表中的方法!

x=random.choice(list)
    board.replace(x,"nuke",forrow)
-----------------------------------------
x=randrange(len(list))
    board.replace(x,"nuke",forrow)
--------------------------------------
x=random.sample(list[i],1)
    board.insert(x,"nuke")
----------------------------------------
    for x in range(len(list)):
            board.insert(random.choice(x),"nuke")

import random
board = [[" "]*10 for i in range(10)]# here i create the big list and the other ones within it

bombs=15#input("Please provide the amount of bombs you want in the game: ")

for list in board: #here is my problem
    x=random.sample(list[i],1) 
    board.insert(x,"nuke")



for x in board:print x 

我期望在我的小程序中能对我有所帮助的任何东西 我需要一些东西来获取列表中X个位置的位置,并能够用“炸弹”代替它们,所以叫它!

1 个答案:

答案 0 :(得分:0)

代替在现场随机选择位置,该方法如何:用适当数量的“核”和空单元格初始化一个长列表,random.shuffle将该列表分解为2D板

>>> bombs = 15
>>> all_cells = ["nuke"] * bombs + [" "] * (100 - bombs)
>>> random.shuffle(all_cells)
>>> board = [all_cells[i:i+10] for i in range(0, 100, 10)]

这样,您不必检查以前是否已经随机滚动过同一单元格。