Python之Turtle库实例

使用Python的Turtle库绘制一个显示时间的窗口

本实例来自Mooc课程上的一个案例,修改后可以显示实时时间

Turtle库详细使用:链接

# -*- coding: utf-8 -*-
# @Author: Marte
# @Date:   2020-07-22 18:34:56
# @Last Modified by:   Marte
# @Last Modified time: 2020-07-23 13:23:30
# @Description: 七段数码管
import turtle as t
import time
#绘制线函数
def DrawLine(draw):
    t.pendown() id draw else t.penup()
    t.fd(30)
    t.right(90)


#绘制单个数字
def DrawDigit(digit):
    DrawLine(True) if digit in [2,3,4,6,8,9] else DrawLine(False)
    DrawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else DrawLine(False)
    DrawLine(True) if digit in [0,2,3,5,6,8,9] else DrawLine(False)
    DrawLine(True) if digit in[0,2,6,8] else DrawLine(False)
    t.left(90)
    DrawLine(True) if digit in [0,4,5,6,8,9] else DrawLine(False)
    DrawLine(True) if digit in [0,2,3,5,6,7,8,9] else DrawLine(False)
    DrawLine(True) if digit in [0,1,2,3,4,7,8,9] else DrawLine(False)
    t.left(180)
    t.penup()
    t.fd(10)
    

#绘制时间
def DrawDate(date):
    t.pencolor("red")
    for each in date:
        if each == '-':
            t.write("时",font=("Arial",15,"normal"))
            t.pencolor("green")
            t.fd(25)
        elif each == '=':
            t.write("分",font=("Arial",15,"normal"))
            t.pencolor("blue")
            t.fd(25)
        elif each == '+':
            t.write("秒",font=("Arial",15,"normal"))
            t.fd(25)
        else:
            DrawDigit(eval(each))


def main(String):
    t.title("七段数码管(动态刷新)")
    t.setup(600,300)
    t.penup()
    t.hideturtle()
    t.pensize(3)
    while(True):
        t.pencolor("black")
        t.goto(-260,-35)
        t.tracer(False)
        t.write(String,font=("Arial",15,"normal"))
        
        t.goto(-150,0)
        timeString = time.strftime("%H-%M=%S+",time.localtime())
        DrawDate(timeString)
        print(timeString)
        t.clear()
        time.sleep(1)

if __name__ == '__main__':
    main()

在这里插入图片描述

转载Turtle库使用:Turtle库使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值