1、问题分析
【“停课不停学”ing,在家也要好好学习,好好自学呀!】
国际象棋棋盘是8*8的,i(0~7)代表行,j(0~7)代表列。当i+j为奇数的时候,是黑色格子,反之,白色格子。
2.代码实现
-1- Python语言
#实现字符串的循环移动
def MoveLeft(string,n):
n1=abs(n)
length=len(string)
n1= n1%length #循环移位个数
if n==0: #不移动
return string
elif n<0: #向左移动
string_n=string[n1:]+string[0:n1]
else: #向右移动
string_n=string[(length-n1):]+string[0:(length-n1)]
return string_n
def main():
a=' 66 66 66 66'
i=0
while i<8:
print(a)
a=MoveLeft(a,-2)
i+=1
main()
运行结果:
-2- Jupyter Notebook
import numpy as np
matr1=np.ones((8,8))
for i in range(8):
for j in range(8):
if(i+j)%2==0:
matr1[i,j]=0
print('国际象棋棋盘:\n',matr1)
for i in range(0,8):
for j in range(0,8):
if matr1[i,j]==0:
print("□",end=' ')
else:
print("■", end=' ')
print('\n')
运行结果:
国际象棋棋盘:
[[0. 1. 0. 1. 0. 1. 0. 1.]
[1. 0. 1. 0. 1. 0. 1. 0.]
[0. 1. 0. 1. 0. 1. 0. 1.]
[1. 0. 1. 0. 1. 0. 1. 0.]
[0. 1. 0. 1. 0. 1. 0. 1.]
[1. 0. 1. 0. 1. 0. 1. 0.]
[0. 1. 0. 1. 0. 1. 0. 1.]
[1. 0. 1. 0. 1. 0. 1. 0.]]
□ ■ □ ■ □ ■ □ ■
■ □ ■ □ ■ □ ■ □
□ ■ □ ■ □ ■ □ ■
■ □ ■ □ ■ □ ■ □
□ ■ □ ■ □ ■ □ ■
■ □ ■ □ ■ □ ■ □
□ ■ □ ■ □ ■ □ ■
■ □ ■ □ ■ □ ■ □