Python3数字标记网格和添加边框?

2024-06-28 20:36:13 发布

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

我正在尝试添加数字标签,以及一行和一列来组织我的程序的游戏板。我注意到,如果我让emptyGrid=[“OOOO”,“OOOO”,“oooooo”,“oooooo”],它会工作,但是sizeof_网格应该表示用户输入的任何值,所以我不能真正使emptyGrid等于设置的网格大小。也就是说,当emptygrid=[]时,我无法让程序显示网格标签。当我使用当前程序执行此操作时,它不会打印任何内容

sizeof_grid = 4
emptyGrid = []

def initialize_board():
    start_board=[["O" for i in range(sizeof_grid)] for i in 
range(sizeof_grid)]
    return start_board

def players_board(grid): 
    for i in range(len(grid)): 
        print(str(i) + "|" + grid[i])
print(players_board(emptyGrid))

我希望代码输出如下内容:

|01234

0 | ooo

1 | OOOOO

2 | OOOOO

3 | OOOOO

4 | OOOOO

(每行之间没有空格)


Tags: in程序board网格内容fordefrange
1条回答
网友
1楼 · 发布于 2024-06-28 20:36:13

您的代码中有一些错误。您不调用initialize_board函数。此外,players_board函数中还有一些错误

修改后的代码(带有更改的行注释并解释更改):

sizeof_grid = 4
emptyGrid = []

def initialize_board():
    start_board = [["O" for i in range(sizeof_grid)] for i in 
range(sizeof_grid)]
    return start_board

def players_board(grid):
    print(" |" + "".join([str(x) for x in range(len(grid[0]))]))  # print the column numbers
    for i in range(len(grid)): 
        print(str(i) + "|" + "".join(grid[i]))  # convert the list to "" joined chars

emptyGrid = initialize_board()  # call this to initialize the board
players_board(emptyGrid)

相关问题 更多 >