1 #国际象棋 2 import turtle 3 turtle.pensize(3) 4 turtle.screensize(1200,1000) #画布大小 5 turtle.color("black","black") 6 n=eval(input()) #输入一个数 7 8 turtle.penup() 9 turtle.goto(-4*n,4*n) #从左上角开始画 10 turtle.pendown() 11 turtle.forward(8*n) #先画一个大的正方形 12 turtle.right(90) 13 turtle.forward(8*n) 14 turtle.right(90) 15 turtle.forward(8*n) 16 turtle.right(90) 17 turtle.forward(8*n) 18 19 coordA=[-3*n,-n,n,3*n] 20 coordB=[4*n,2*n,0,-2*n] 21 22 for i in range(4): 23 for j in range(4): 24 turtle.penup() 25 turtle.goto(coordA[i],coordB[j]) 26 turtle.pendown() 27 turtle.begin_fill() 28 turtle.right(90) 29 turtle.forward(n) 30 turtle.right(90) 31 turtle.forward(n) 32 turtle.right(90) 33 turtle.forward(n) 34 turtle.right(90) 35 turtle.forward(n) 36 turtle.end_fill() 37 38 coordC=[-4*n,-2*n,0,2*n] 39 coordD=[3*n,n,-n,-3*n] 40 41 for i in range(4): 42 for j in range(4): 43 turtle.penup() 44 turtle.goto(coordC[i],coordD[j]) 45 turtle.pendown() 46 turtle.begin_fill() 47 turtle.right(90) 48 turtle.forward(n) 49 turtle.right(90) 50 turtle.forward(n) 51 turtle.right(90) 52 turtle.forward(n) 53 turtle.right(90) 54 turtle.forward(n) 55 turtle.end_fill() 56 57 turtle.hideturtle()
题目: 画一个国际象棋盘,小格边长由用户输入2020-03-19
思路:先画一个大的正方形,设定一个N值为小正方形的边长。这样我们可以找到每个小正方形的坐标。开始绘画,按一下思路,这里会用到两层循环哦!
这是过程图:
这是结果:
注:从开始填充到结束填充,需要的是起点和终点都是同一个点。也就是说,一个封闭的图形才可以填充,否则,将会是起点和终点的连线之间所有封闭图形的填充。这也是我采用这种思路的原因。
感谢大家的浏览!