在 Python 的网格中插入字符"."



新手。我正在为学校做一个项目,在那里你用Python创建一个10x10的网格。这个网格最终将被用于游戏《战舰》。我们的老师要求我们使用'初始化网格。’表示开放的水域。输出应该如下所示:期望输出值

当我运行我的代码时,我得到的是"而不是。并且在我想要删除的每一行周围都有括号。

见附件图片的代码我已经到目前为止。

#global variable for grid size
grid_size = 10
#global variable for grid
myBoard = [ ['']*grid_size for i in range (grid_size) ]
# display the grid (2d array)
def main(myBoard):
def drawBoard(myBoard):
for i in range(grid_size):
for j in range(grid_size):
print(grid[i][j], end = "") 
print() 

def setupBoard(myBoard):
i = j = 0
while i < grid_size:
while j < grid_size:
grid[i][j] = '.'
j = 0
i += 1
main(myBoard)
print(myBoard)

我试过改变[["]*grid_size for I in range (grid_size)]

Grid = [(.)*grid_size for I in range (grid_size)]

但是收到了无效的语法消息。我试着把它改成[]。']也可以,但显示了引号和括号标记,所以我不确定如何摆脱这些。任何反馈将非常感激!

您的代码有几个问题。主节点定义main()以下的函数。你要做的是在main()中调用它们,但它们的定义应该在main()函数定义之外。

此外,您可以在代码的不同位置使用变量grid,但是没有在任何地方定义grid。您想使用的变量是myBoard而不是grid

最后,如果使用以下命令初始化myBoard:

myBoard = [['.']*grid_size for i in range(grid_size)]

函数setupBoard()变得毫无用处,因为它试图(其中有一些错误)实现与上面代码行相同的功能。

修复上面提到的问题,代码看起来像这样:

#global variable for grid size
grid_size = 10
#global variable for grid
myBoard = [['.']*grid_size for i in range(grid_size)]
# display the grid (2d array)
def main():
# Call drawBoard function with myBoard
drawBoard(myBoard)
def drawBoard(myBoard):
# Print header
print(end="  ")
for i in range(grid_size):
print(i, end=" ")
print()
# Print rows
for i in range(grid_size):
print(i, end=" ")
for j in range(grid_size):
print(myBoard[i][j], end=" ") # change grid to myBoard
print()
# Call main function
main()

程序输出如下内容:

  0 1 2 3 4 5 6 7 8 9 
0 . . . . . . . . . .
1 . . . . . . . . . .
2 . . . . . . . . . .
3 . . . . . . . . . .
4 . . . . . . . . . .
5 . . . . . . . . . .
6 . . . . . . . . . .
7 . . . . . . . . . .
8 . . . . . . . . . .
9 . . . . . . . . . .

注1:当一个字符(s)周围有引号'"时,表示它是string。如果字符没有引号,python编译器假定它是一个变量并查找它的定义。由于没有定义,它将抛出一个错误。

注2:当字符串被打印到控制台时,引号将被省略,除非它们被转义了"

相关内容

  • 没有找到相关文章

最新更新