You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现load_board与save_board函数处理棋盘文件?

实现Python棋盘读写函数

先得定义个Board类,用来封装棋盘数据,同时实现__str__方法,让打印对象时能直接输出指定格式的棋盘:

class Board:
    def __init__(self, grid):
        self.grid = grid  # grid是二维列表,存着每行的棋盘字符
    
    def __str__(self):
        return '\n'.join(''.join(row) for row in self.grid)

1. 实现load_board(filename)函数

这个函数读入指定文本文件,把每行的棋盘字符解析成二维列表,最后返回Board对象:

def load_board(filename):
    grid = []
    with open(filename, 'r', encoding='utf-8') as f:
        for line in f:
            # 只去掉行尾的换行符,保留原始字符
            line_content = line.rstrip('\n')
            grid.append(list(line_content))
    return Board(grid)

2. 实现save_board(filename, board)函数

这个函数把Board对象里的棋盘数据写入文件,确保格式和load_board能识别的一致:

def save_board(filename, board):
    with open(filename, 'w', encoding='utf-8') as f:
        for row in board.grid:
            # 把每行的字符列表转成字符串,加换行符后写入
            f.write(''.join(row) + '\n')

调用示例

# 加载棋盘文件
b = load_board("l19.txt")
# 打印棋盘(直接输出指定格式)
print(b)
# 保存棋盘到新文件
save_board("l19b.txt", b)

注意点

  • 读取文件时只用rstrip('\n'),避免误删行尾可能存在的空格,保证原格式完整。
  • 写入时每行末尾加换行符,确保生成的文件和原文件完全一致。
  • Board类的__str__方法让打印操作直接输出可读的棋盘样式。

内容的提问来源于stack exchange,提问作者Anne_Music

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 05:30:47