七段数码管绘制

七段数码管是一种展示数字的有效方式。

绘制当前系统时间对应的七段数码管,效果如下

具体代码:

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()  # 绘制完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值