如何在for循环中为行内第2、3个元素间添加间隔?(8列4行)
修改Python棋盘打印代码实现指定格式
现有一段生成8列4行棋盘的Python代码,当前每行元素间仅含一个空格。需求为修改代码,在每行的第2个与第3个元素之间添加额外空格,使每行呈现- - - -的格式,同时保持每行仍为4个元素。
当前代码
column = 8 row = 4 def print_seats(board): """print board""" for i in range(column): for j in range(row): if j > 0: print(' ', end='') print(board[i][j], end='') print() def create_board(): """create a new board of dimensions DIMxDIM""" board = [] for i in range(column): new_row = [] for j in range(row): new_row.append('_') board.append(new_row) return board board = create_board() print_seats(board)
预期输出
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
修改后的代码
column = 8 row = 4 def print_seats(board): """print board""" for i in range(column): for j in range(row): if j > 0: # 第2个元素后(对应第3个元素前)输出两个空格,其余情况输出单个空格 print(' ' if j == 2 else ' ', end='') print(board[i][j], end='') print() def create_board(): """create a new board of dimensions DIMxDIM""" board = [] for i in range(column): new_row = [] for j in range(row): new_row.append('_') board.append(new_row) return board board = create_board() print_seats(board)
修改说明
核心改动集中在print_seats函数的空格输出逻辑:
- 当
j == 2(即准备打印第3个元素时),输出两个空格实现分隔效果 - 其他需要添加空格的场景(
j>0且j≠2),保持输出单个空格
这样就能精准实现每行第2、3个元素间的额外空格要求,同时维持每行4个元素的结构。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

