绘制代码如下:
# 七段电子管的绘制.py
import turtle as t # import指导入,as指起别名
import random as r # random指随机数
import time
# 定义画线函数:
def drawLine(draw): # def指定义 draw指参数
t.pendown() if draw else t.penup()
t.pencolor(r.random(), r.random(), r.random())
t.fd(80)
t.right(90)
# 定义绘制0-9数字函数:
def drawDigit(i):
drawLine(True) if i in [2, 3, 4, 5, 6, 8, 9] else drawLine(False) # 画第一段的数值
drawLine(True) if i in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False) # 画第二段的数值
drawLine(True) if i in [0, 2, 3, 5, 6, 8] else drawLine(False) # 画第三段的数值
drawLine(True) if i in [0, 2, 6, 8] else drawLine(False) # 画第四段的数值
t.left(90)
drawLine(True) if i in [0, 4, 5, 6, 8, 9] else drawLine(False)
drawLine(True) if i in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)
drawLine(True) if i in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)
t.left(180) # 画笔改为反方向旋转180度
t.penup() # 为绘制第二个数字确定位置,想右移动20PX
t.fd(20)
# 定义绘制日期函数:
def drawDate(date):
for i in date:
drawDigit(eval(i))
# 定义main函数:
def main():
t.setup(1000, 350)
t.penup()
t.fd(-400)
t.pensize(5)
drawDate(time.strftime('%Y%m%d'))
t.hideturtle()
t.done()
# 函数调用
main()
运行结果如下: