python数码管动态时钟壁纸_python七段数码管时钟(静态刷新版)&(动态刷新版)

python七段数码管时钟

python七段数码管时钟(静态刷新版)

仿照”七段数码管绘制“编写一段程序,实现如下的时钟效果

图片要求

直接上代码

import turtle as t

import time

def pen():

t.up()

t.fd(6)

t.down()

def drawline(draw): #绘制单段数码管

pen()

t.pendown() if draw else t.penup() # draw 为真则执行 pendown ,否则执行 penup

t. fd(40)

pen()

t.right(90)

def drawdigit(digit): #根据数字绘制七段数码管

drawline(True) if digit in [2,3,4,5,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(25)

def drawday(day): #获取要输出的数字

for i in day:

if i == ‘-’:

t.write(‘时’,font = (‘隶书’,28,‘normal’))

t.pencolor(‘green’)

t.fd(40)

elif i == ‘=’:

t.write(‘分’,font = (‘隶书’,28,‘normal’))

t.pencolor(‘blue’)

t.fd(40)

elif i == ‘+’:

t.write(‘秒’,font = (‘隶书’,28,‘normal’))

else:

drawdigit(eval(i))

def main():

t.setup(800,350,200,200)

t.speed(0)

t.color(‘red’)

t.hideturtle()#隐藏画笔

t.penup()

t.fd(-360)

t.pensize(5)

drawday(time.strftime(’%H-%M=%S+’, time.localtime()))

t.done()

main()

关键代码提示:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

如下列代码所示,使用time.localtime()函数获取本地时间。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

drawDate(time.strftime(’%H-%M=%S+’, time.localtime( )))

python七段数码管时钟(动态刷新版)

静态的我们已经会了,动态的怎么能少呢!

动态刷新

仿照”七段数码管时钟“编写一段程序,实现如下的时钟效果。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

要求:时间具有动态刷新功能,即每秒刷新一次

图片要求

在原有静态版修改

关键代码提示:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

如下列代码所示,使用time.localtime()函数获取本地时间。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

drawDate(time.strftime(’%H-%M=%S+’, time.localtime()))

使用turtle.tracer([True/False])实现Turtle绘图轨迹的显示与隐藏。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

#隐藏轨迹

turtle.tracer(False)

#显示轨迹

turtle.tracer(True)

使用time.sleep(n)函数实现时间延迟效果,注意使用前需要先引入time库。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬

import time

#延迟1秒

time.sleep(1)

代码参考

import turtle as t

import time

def pen():

t.up()

t.fd(6)

t.down()

def drawline(draw): #绘制单段数码管

pen()

t.pendown() if draw else t.penup() # draw 为真则执行 pendown ,否则执行 penup

t. fd(40)

pen()

t.right(90)

def drawdigit(digit): #根据数字绘制七段数码管

drawline(True) if digit in [2,3,4,5,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(25)

def drawday(day): #获取要输出的数字

for i in day:

if i == ‘-’:

t.write('时',font = ('隶书',28,'normal'))

t.pencolor('green')

t.fd(40)

elif i == '=':

t.write('分',font = ('隶书',28,'normal'))

t.pencolor('blue')

t.fd(40)

elif i == '+':

t.write('秒',font = ('隶书',28,'normal'))

else:

drawdigit(eval(i))

def main():

t.setup(800,350,200,200)

t.speed(0)

t.color(‘red’)

t.hideturtle()#隐藏画笔

t.penup()

t.fd(-360)

t.pensize(5)

while(1):

t.penup( )

t.goto(-300,0)

t.pendown( )

t.tracer(False)

t.pencolor('red')

drawday(time.strftime('%H-%M=%S+', time.localtime()))

time.sleep(0.1)

t.clear() #清屏

t.done()

main()

.

.

.

.

来自一个自娱自乐的python小白

原文链接:https://blog.csdn.net/SleepWalker_/article/details/105248474

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值