七段数码管是一种展示数字的有效方式。
绘制当前系统时间对应的七段数码管,效果如下
具体代码:
import turtle
# 定义画线函数
def drawline(draw):
turtle.penup() # 抬起画笔
turtle.fd(5) # 向前移动5个像素
turtle.pencolor("pink") # 设置画笔颜色为粉色
turtle.pensize(6) # 设置画笔粗细为6
turtle.pendown() if draw else turtle.penup() # 如果draw为True,则放下画笔,否则抬起画笔
turtle.fd(40) # 向前移动40个像素
turtle.penup() # 抬起画笔
turtle.fd(5) # 向前移动5个像素
turtle.right(90) # 右转90度
# 定义绘制数字函数
def drawDight(n):
drawline(False) if n in [0, 1, 7] else drawline(True) # 根据数字是否需要画线调用drawline函数
drawline(False) if n in [2] else drawline(True)
drawline(False) if n in [1, 4, 7] else drawline(True)
drawline(False) if n in [1, 3, 5, 4, 7, 9] else drawline(True)
turtle.left(90) # 左转90度
drawline(False) if n in [1, 2, 3, 7] else drawline(True)
drawline(False) if n in [1, 4] else drawline(True)
drawline(False) if n in [5, 6] else drawline(True)
turtle.left(180) # 左转180度
turtle.penup() # 抬起画笔
turtle.fd(20) # 向前移动20个像素
# 定义绘制日期函数
def drawDate(d):
for i in d:
drawDight(eval(i)) # 调用drawDight函数绘制日期数字
# 设置画布大小和位置
turtle.setup(800, 300, 200, 200)
turtle.penup()
turtle.fd(-300)
turtle.pendown()
# 导入datetime模块,获取当前日期并调用drawDate函数绘制日期
from datetime import datetime
drawDate(datetime.now().strftime('%Y%m%d'))
turtle.done() # 绘制完成