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设计】。

相关文章

Python从MP3文件获取id3的方法

本文实例讲述了Python从MP3文件获取id3的方法。分享给大家供大家参考。具体如下: def getID3(filename): fp = open(filename, 'r...

django批量导入xml数据

django后台批量导入数据 在生产环境中,往往数据不是几条或者几百条,那么举个例子,将公司所有员工员工号或者帐号密码导入进后台,那就不建议你去后台一条条记录去添加了 如何从xml中批...

python Django编写接口并用Jmeter测试的方法

python Django编写接口并用Jmeter测试的方法

一、环境准备 python3.6.7 Pycharm 二、创建项目 我这里是在Django项目中新建了个APP,目录结构如下图所示: 那么怎么在已有的Django项目中新建...

精确查找PHP WEBSHELL木马的方法(1)

精确查找PHP WEBSHELL木马的方法(1)

先来看下反引号可以成功执行命名的代码片段。代码如下: 复制代码 代码如下: `ls -al`; `ls -al`; echo "sss"; `ls -al`; $sql = "SELEC...

Python和Ruby中each循环引用变量问题(一个隐秘BUG?)

虽然这个问题我是在 Python 里遇到的,但是用 Ruby 解释起来比较容易一些。在 Ruby 里,遍历一个数组可以有很多种方法,最常用的两种无非是 for 和 each:复制代码 代...