我目前正在用 Python 开发我的第一个项目 - 井字游戏,因为我认为这是一个很好的起点,但我终于遇到了障碍。
我目前已经将板设置为列表 - Board = [1,2,3...,9] 并重置,板的内容被删除并通过单独的列表重新输入,但它也添加了括号。
有没有办法在不抓取括号的情况下抓取单独列表的内容?
if newGame == 'Y' or 'y':
del Board[:]
Board.append(startBoard)
print Board #for testing
else:
sys.exit('game over')
我得到的是这样的:
[[1,2,3,4,5,6,7,8,9]]
请您参考如下方法:
使用扩展。
Board.extend(startBoard)
或者你可以这样做:
Board = [el for el in startBoard]
并完全省略 del Board[:]。
或者您可以使用 copy模块:
Board = copy.deepcopy(startBoard)
不过对我来说最好的是:
Board = [i+1 for i in xrange(9)]
或者更简单的:
Board = range(1, 10) # python 2
或
Board = list(range(1, 10)) # python 3
作为zehnpaard在评论中建议。
你也可以做什么Erik Allik在他的回答中提出。
