国际象棋棋盘是8x8的方格,交替显示黑白两种颜色(通常用空格或字符填充,这里我们用字符表示)。 我们可以用两种字符来表示黑白格子,例如:黑色格子用'■',白色格子用'□'。
思路:
1. 棋盘有8行8列。
2. 每个格子根据其行号和列号之和的奇偶性来决定是黑色还是白色。 如果行号+列号是偶数,我们设为黑色;如果是奇数,设为白色。
3. 注意:我们通常从0开始计数,那么第0行第0列(左上角)应该是黑色,即0+0=0(偶数)为黑色。 但是,也可以根据需求调整左上角的颜色。这里我们按照标准:左上角为黑色。
编码1:
# coding=gbk # 定义棋盘的大小(国际象棋标准为8x8) BOARD_SIZE = 8 # 使用嵌套循环绘制棋盘 for row in range(BOARD_SIZE): # 外层循环控制行 for col in range(BOARD_SIZE): # 内层循环控制列 # 判断格子颜色:行号+列号为偶数时显示白色,奇数时显示黑色 if(row + col) % 2 == 0: print("\u25A1 ",end="") # 白色格子(使用方框符号) else: print("\u25A0 ",end="") # 黑色格子(使用实心方块) print() # 每行结束后换行j结果:
□ ■ □ ■ □ ■ □ ■
■ □ ■ □ ■ □ ■ □
□ ■ □ ■ □ ■ □ ■
■ □ ■ □ ■ □ ■ □
□ ■ □ ■ □ ■ □ ■
■ □ ■ □ ■ □ ■ □
□ ■ □ ■ □ ■ □ ■
■ □ ■ □ ■ □ ■ □
编码2:
BOARD_SIZE = 8 print(" ", end="") for col in range(BOARD_SIZE): print(f" {chr(97+col)}", end="") # 列标签(a-h) print() for row in range(BOARD_SIZE): print(f"{row+1} ", end="") # 行标签(1-8) for col in range(BOARD_SIZE): if (row + col) % 2 == 0: print("□", end=" ") else: print("■", end=" ") print(f"{row+1}") # 右侧行标签 print(" ", end="") for col in range(BOARD_SIZE): print(f" {chr(97+col)}", end="") # 底部列标签 print()结果:
a b c d e f g h
1 □ ■ □ ■ □ ■ □ ■ 1
2 ■ □ ■ □ ■ □ ■ □ 2
3 □ ■ □ ■ □ ■ □ ■ 3
4 ■ □ ■ □ ■ □ ■ □ 4
5 □ ■ □ ■ □ ■ □ ■ 5
6 ■ □ ■ □ ■ □ ■ □ 6
7 □ ■ □ ■ □ ■ □ ■ 7
8 ■ □ ■ □ ■ □ ■ □ 8
a b c d e f g h