python实现七段数码管和倒计时效果
作者:一只小菜ji 发布时间:2021-12-22 20:04:01
标签:python,七段,数码管,倒计时
8是典型的七段数码管的例子,因为刚好七段都有经过,这里我写的代码是从1开始右转。
这是看Mooc视频写的一个关于用七段数码管显示当前时间
# -*-coding:utf-8 -*-
import turtle as t
import time
def drawGap():
t.penup()
t.fd(5)
def drawLine(draw):
drawGap()
t.pendown() if draw else t.penup()
t.fd(40)
t.right(90)
def drawDigit(digit):
drawLine(True) if digit in [2, 3, 4, 5, 6, 8, 9] else drawLine(False) #当digit是2, 3, 4, 5, 6, 8, 9时执行
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(20)
def drawDate(date):
for i in date:
if i=='-':
t.write('年',font=("Arial",18,"normal"))
t.pencolor("green")
t.fd(40)
elif i=='=':
t.write('月', font=("Arial", 18, "normal"))
t.pencolor("green")
t.fd(40)
elif i=='+':
t.write('日', font=("Arial", 18, "normal"))
t.pencolor("green")
t.fd(40)
else:
drawDigit(eval(i))
# drawDigit(eval(date))
if __name__ == '__main__':
t.setup(800,350,200,200)
t.penup()
t.fd(-300)
t.pensize(5)
drawDate(time.strftime('%Y-%m=%d+',time.gmtime())) #strftime() 函数接收以时间元组,并返回以可读字符串表示的当地时间
# drawDate('6')
t.hideturtle()
t.done()
除外倒计时用七段数码管显示
在下面的代码中的datetime库对我这个新手去计算时间差来说是很方便的,另外我还学会了简写条件语句
<表达示> if <条件> else <表达示>
# -*-coding:utf-8 -*-
import turtle as t
import time
import datetime
def draw_Line(draw):
t.pendown() if draw else t.penup() #pendown 落下画笔 penup单纯飞过去没有落笔
t.fd(40)
t.right(90)
def draw_Digit(digit):
t.write('剩余时间:', font=("Arial", 18, "normal"))
t.pencolor("green")
t.fd(160)
i = 0
while i < len(digit):
if digit[i] >= '0' and digit[i] <= '9':
draw_Line(True) if eval(digit[i]) in [2, 3, 4, 5, 6, 8, 9] else draw_Line(False)
draw_Line(True) if eval(digit[i]) in [1, 3,4, 5, 6,7, 8, 9, 0] else draw_Line(False)
draw_Line(True) if eval(digit[i]) in [2, 3, 5, 6, 8, 9, 0] else draw_Line(False)
draw_Line(True) if eval(digit[i]) in [2, 6, 8, 0] else draw_Line(False)
t.left(90)
draw_Line(True) if eval(digit[i]) in [4, 5, 6, 8, 9, 0] else draw_Line(False)
draw_Line(True) if eval(digit[i]) in [2, 3, 5, 6,7, 8, 9, 0] else draw_Line(False)
draw_Line(True) if eval(digit[i]) in [1,2, 3, 4, 7, 8, 9, 0] else draw_Line(False)
t.left(180)
t.penup()
t.fd(20)
else:
break
i = i + 1
if __name__ == '__main__':
t.setup(650,350,200,200)
t.penup()
t.fd(-300)
t.pensize(4)
remain = datetime.datetime(2019, 2, 4) - datetime.datetime.now()
s=str(remain)
draw_Digit(s)
t.hideturtle()
t.done()
看到很多优秀的人,他们的努力,成就,天赋和幸运,都是我所不能及的,但若心向往,每天再努力一点点,即使最后没有向他们那样,也会使我不那么平庸。加油!!!
来源:https://blog.csdn.net/qq_40925165/article/details/84350112
0
投稿
猜你喜欢
- ul设置浮动后不能自适应高度,也就是不能撑开父容器,不能自适应内容的高度。解决方法是在ul结束标签前加个清除浮动。 &
- 1、给定的日期格式相同,则使用简单的比较运算符来比较日期。<?php//声明两个日期、初始化$date1 = "2021-1
- 早上看了一个贴子,是一个哥们推广自己一个智能的数据库备份系统,他总结了数据库备份过程中所有可能出错的情况,可以借鉴。如果你做DBA时间不长,
- MongoDB安装模块pip install pymongo连接数据库import pymongoclient = pymongo.Mong
- (1)查看日期函数拓展phpinfo()<?phpphpinfo();打开上述页面之后,可以看到以下,证明已经安装日期拓展 浏览器输入
- 本文实例讲述了Django框架静态文件处理、中间件、上传文件操作。分享给大家供大家参考,具体如下:Django静态文件处理、中间件、上传文件
- 这里介绍几个常用的列表操作添加元素添加元素使用列表的内置方法appendnumber = [1, 2, 3, 4]number.append
- 前言django是python语言的一个web框架,功能强大。配合一些插件可为web网站很方便地添加搜索功能。搜索引擎使用whoosh,是一
- (一)CSV格式文件1.说明CSV是一种以逗号分隔数值的文件类型,在数据库或电子表格中,常见的导入导出文件格式就是CSV格式,CSV格式存储
- python第三方库的安装PyInstaller库PyInstaller库能够在不同操作系统下将python源文件打包,变成直接可运行的可执
- 1、实现目标编写一个命令行通讯录程序,可以添加、查询、删除通讯录好友及电话2、实现方法创建一个类来表示一个人的信息。使用字典存储每个人的对象
- 首先将ORACLE 10g的安装光盘放入光驱,如果自动运行,一般会出现如图1安装界面: 图1 单击“开始安装”,就可以安装ORACLE 10
- 操作:输入带分页的地址,去掉最后面的数字,设置一下起始页数和终点页数功能:下载对应页码的所有页面并储存为HTML文件,以当前时间命名代码:#
- 本文实例为大家分享了python批量文件重命名的具体代码,供大家参考,具体内容如下问题描述最近遇到朋友求助,如何将大量文件名前面的某些字符删
- tensorflow官方提供了3种方法来读取数据:预加载数据(preloaded data):在TensorFlow图中定义常量或变量来保存
- 我们知道,全局临时表的生命周期一直持续到创建会话(不是创建级别)才终止。有时候,你可能想创建一个不属于任何会话的全局临时表。而无论你进行什么
- <?php//===============================时间日期=========================
- 本文实例讲述了Python实现曲线拟合操作。分享给大家供大家参考,具体如下:这两天学习了用python来拟合曲线。一、环境配置本人比较比较懒
- 在读文件时常常得到一些\n和引号之类的符号,可以使用字符串的成员函数strip()来去除。1.去除首尾不需要的字符a= '"
- #!/usr/bin/env python3# -*- coding: utf-8 -*-# File Name : gt1.py# Pur