Jupyter Notebook:实现国际象棋棋盘

1、问题分析

【“停课不停学”ing,在家也要好好学习,好好自学呀!】

国际象棋棋盘是8*8的,i(0~7)代表行,j(0~7)代表列。当i+j为奇数的时候,是黑色格子,反之,白色格子。

Jupyter Notebook:实现国际象棋棋盘_第1张图片

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()

运行结果: 

Jupyter Notebook:实现国际象棋棋盘_第2张图片

-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.]]
□ ■ □ ■ □ ■ □ ■ 

■ □ ■ □ ■ □ ■ □ 

□ ■ □ ■ □ ■ □ ■ 

■ □ ■ □ ■ □ ■ □ 

□ ■ □ ■ □ ■ □ ■ 

■ □ ■ □ ■ □ ■ □ 

□ ■ □ ■ □ ■ □ ■ 

■ □ ■ □ ■ □ ■ □ 

Jupyter Notebook:实现国际象棋棋盘_第3张图片

你可能感兴趣的:(Jupyter,Notebook)