记录Python学习中turtle库的使用

实例

1.描述:利用turtle库绘制七段数码管的日期显示

2.思路:抽象规则,七段数码管按照一定的步序绘制,将其模块化,其中根据具体的数字决定在绘制过程中海龟是否落笔还是飞跃。
绘制步序

3.代码

#SevenDigitsDraw.py
import turtle, time
def drawGap():          #绘制数码管间隔(提笔,前进五个像素制造间隙)
    turtle.penup()
    turtle.fd(5)

def drawLine(draw):     #绘制单段数码管
    drawGap()
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    drawGap()
    turtle.right(90)

def drawDigit(d):       #根据数字绘制七段数码管(按照绘制七段的步序编字形码)
    drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
    drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
    drawLine(True) if d in [0,2,6,8] else drawLine(False)
    turtle.left(90)     #走完1,2,3,4一圈,调整方向,进入5,6,7
    drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
    drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
    drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
    turtle.left(180)    #走完5,6,7,调整方向,进入下一个数字的绘制
    turtle.penup()
    turtle.fd(20)

def drawDate(date):     #通过date输入初始日期,按照指定格式输出年,月,日标识
    turtle.pencolor("red")
    for i in date:
        if i == '-':
            turtle.write('年',font=("Arial", 18, "normal"))
            turtle.pencolor("green")
            turtle.fd(40)
        elif i == '=':
            turtle.write('月',font=("Arial", 18, "normal"))
            turtle.pencolor("blue")
            turtle.fd(40)
        elif i == '+':
            turtle.write('日',font=("Arial", 18, "normal"))
        else:
            drawDigit(eval(i))

def main():
    turtle.setup(800, 350, 200, 200)    #初始化turtle图形绘制窗口
    turtle.penup()
    turtle.fd(-350)
    turtle.pensize(5)
#    drawDate('2020-02=07+') 不采取手动输入时间的方法,直接利用time库获取计算机时间
    drawDate(time.strftime('%Y-%m=%d+',time.gmtime()))  #格式化
    turtle.hideturtle()
    turtle.done()
main()

关于turtle.write使用方法的总结

基本格式:
write(arg,move=false,align=‘left’,font=(‘fontname,fontsize,fonttype’))
	arg         ————文本内容
	move(可选) ————真/假,默认假
	align(可选)————left,center或right
	font(可选) ————三个字体(fontname,fontsize,fonttype)

		fontname:	(字体)			fontsize:(大小)			fonttype:    (默认值)
				一般使用'Arial'									三种类型:  
				其他文本类型可搜索										 1. 正常(normal)√常用
																		 2. 粗体(bold)
																		 3. 斜体(italic)

示例:

turtle.write('年',font=("Arial", 18, "normal"))
发布了14 篇原创文章 · 获赞 1 · 访问量 622

猜你喜欢

转载自blog.csdn.net/weixin_42764266/article/details/104206996