python图形工具turtle绘制国际象棋棋盘

yipeiwu_com6年前Python基础

本文实例为大家分享了python图形工具turtle绘制国际象棋棋盘的具体代码,供大家参考,具体内容如下

#编写程序绘制一个国际象棋的棋盘
import turtle
turtle.speed(30)
turtle.penup()
off = True
for y in range(-40, 30 + 1, 10):
 for x in range(-40, 30 + 1, 10):
 if off:
 turtle.goto(x, y)
 turtle.pendown()
 turtle.begin_fill()
 turtle.color("black")
 turtle.forward(10)
 turtle.left(90)
 turtle.forward(10)
 turtle.left(90)
 turtle.forward(10)
 turtle.left(90)
 turtle.forward(10)
 turtle.left(90)
 turtle.end_fill()
 turtle.penup()
 else:
 turtle.goto(x, y)
 turtle.pendown()
 turtle.forward(10)
 turtle.left(90)
 turtle.forward(10)
 turtle.left(90)
 turtle.forward(10)
 turtle.left(90)
 turtle.forward(10)
 turtle.left(90)
 turtle.penup()
 off = bool(int(off) - 1)
 off = bool(int(off) - 1)
turtle.hideturtle()
turtle.done()

通过函数的重用优化代码:

先建立一个UsefulTurtleFunctions.py 的文件夹

import turtle
#Draw a square
def drawSquare():
 turtle.pendown()
 turtle.forward(10)
 turtle.left(90)
 turtle.forward(10)
 turtle.left(90)
 turtle.forward(10)
 turtle.left(90)
 turtle.forward(10)
 turtle.left(90)
 turtle.penup()

再在test中调用它

#编写程序绘制一个国际象棋的棋盘
 
import turtle
from UsefulTurtleFunctions import *
turtle.speed(30)
turtle.penup()
off = True
for y in range(-40, 30 + 1, 10):
 for x in range(-40, 30 + 1, 10):
 if off:
 turtle.goto(x, y)
 turtle.begin_fill()
 turtle.color("black")
 drawSquare()
 turtle.end_fill()
 turtle.penup()
 else:
 turtle.goto(x, y)
 drawSquare()
 off = bool(int(off) - 1)
 off = bool(int(off) - 1)
turtle.hideturtle()
turtle.done()

最后结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

双向RNN:bidirectional_dynamic_rnn()函数的使用详解

双向RNN:bidirectional_dynamic_rnn()函数的使用详解

双向RNN:bidirectional_dynamic_rnn()函数的使用详解 先说下为什么要使用到双向RNN,在读一篇文章的时候,上文提到的信息十分的重要,但这些信息是不足以捕捉文章...

Python字典生成式、集合生成式、生成器用法实例分析

本文实例讲述了Python字典生成式、集合生成式、生成器用法。分享给大家供大家参考,具体如下: 字典生成式: 跟列表生成式一样,字典生成式用来快速生成字典,不同的是,字典需要两个值...

python3中替换python2中cmp函数的实现

python3中替换python2中cmp函数的实现

python 3.4.3 的版本中已经没有cmp函数,被operator模块代替,在交互模式下使用时,需要导入模块。 在没有导入模块情况下,会出现 提示找不到cmp函数了,那么在p...

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法

代码: import sys from PyQt5.QtWidgets import (QWidget, QHBoxLayout, QLabel, QApplication) fro...

简单上手Python中装饰器的使用

Python的装饰器可以实现在代码运行期间修改函数的上下文, 即可以定义函数在执行之前进行何种操作和函数执行后进行何种操作, 而函数本身并没有任何的改变。 这个看起来很复杂, 实际上应用...