下面内容是使用Python打印五子棋棋盘的两种常用技巧,支持自定义尺寸并符合标准棋盘格式(含行列标记和制表符边框)。两种技巧均通过双重循环实现,可根据需求选择:
技巧一:分三部分绘制(推荐)
将棋盘分为首行、中间行和末行处理,逻辑清晰,适合标准15×15棋盘:
python
def print_gobang(size=15):
打印列标记(A-O)
print(” “, end=””)
for col in range(size):
print(f” chr(65+col)} “, end=””) A对应65, B对应66…
print(“
┌”, end=””)
首行:上边框
for _ in range(size-1):
print(“┬───”, end=””)
print(“┐”)
中间行:格子与行标记
for row in range(size):
print(f”row+1:2d}├”, end=””) 行号右对齐
for _ in range(size-1):
print(“┼───”, end=””)
print(“┤”)
末行:下边框
print(” └”, end=””)
for _ in range(size-1):
print(“┴───”, end=””)
print(“┘”)
print_gobang(15) 打印15×15标准棋盘
输出效果:
A B C … O
┌───┬───┬───┬───┐
1 ├─┼─┼─┼─┤
├─┼─┼─┼─┤
..(省略中间行)…
15├─┼─┼─┼─┤
└───┴───┴───┴───┘
> 特点:
技巧二:条件判断绘制(通用性强)
通过坐标判断每个位置应输出的符号,支持任意尺寸棋盘:
python
def print_gobang_flexible(size):
列标记行
print(” “, end=””)
for i in range(size):
print(f” chr(65+i)} ” , end=””)
for i in range(size):
行标记
print(f”i+1:2d} “, end=””)
for j in range(size):
if i == 0 and j == 0: print(“┌───”, end=””)
elif i == 0 and j == size-1: print(“┬───┐”)
elif i == 0: print(“┬───”, end=””)
elif i == size-1 and j == 0: print(“└───”, end=””)
elif i == size-1 and j == size-1: print(“┴───┘”)
elif i == size-1: print(“┴───”, end=””)
elif j == 0: print(“├───”, end=””)
elif j == size-1: print(“┼───┤”)
else: print(“┼───”, end=””)
print_gobang_flexible(10) 打印10×10棋盘
关键坐标判断逻辑:
| 位置 | 符号 | 条件判断 |
| 左上角 | `┌───` | `i==0 and j==0` |
| 上边框 | `┬───` | `i==0 and 0 | 右上角 | `┬───┐` | `i==0 and j==size-1` | | 左边框 | `├───` | `0
| 交叉点 | `┼───` | `0特点: 1. 落子功能:结合二维数组存储棋子情形(如`board[i][j] = ‘●’`),打印时替换空位为`●`或`○` 2. 界面优化:使用`colorama`库为黑白棋子添加颜色区分 3. 尺寸验证:添加输入检查(如`if size not in range(5,20):`)避免无效尺寸 > 标准五子棋为15×15格子(共225交点),行列标记通常用1-15(行) 和 A-O(列) 。以上代码可直接复制运行,修改`size`参数即可调整棋盘大致。 扩展建议