python实现七段数码管和倒计时效果


Posted in Python onNovember 23, 2019

8是典型的七段数码管的例子,因为刚好七段都有经过,这里我写的代码是从1开始右转。

python实现七段数码管和倒计时效果

这是看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()

python实现七段数码管和倒计时效果

看到很多优秀的人,他们的努力,成就,天赋和幸运,都是我所不能及的,但若心向往,每天再努力一点点,即使最后没有向他们那样,也会使我不那么平庸。加油!!!

以上这篇python实现七段数码管和倒计时效果就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中处理XML的教程
Apr 29 Python
Python模块搜索路径代码详解
Jan 29 Python
Python管理Windows服务小脚本
Mar 12 Python
Python 变量类型详解
Oct 10 Python
解决python3捕获cx_oracle抛出的异常错误问题
Oct 18 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
Python实战购物车项目的实现参考
Feb 20 Python
python pytest进阶之conftest.py详解
Jun 27 Python
python多线程高级锁condition简单用法示例
Nov 07 Python
使用apiDoc实现python接口文档编写
Nov 19 Python
Python Django中间件使用原理及流程分析
Jun 13 Python
python实现一个简单的贪吃蛇游戏附代码
Jun 28 Python
Python turtle库绘制菱形的3种方式小结
Nov 23 #Python
使用Python画出小人发射爱心的代码
Nov 23 #Python
用python的turtle模块实现给女票画个小心心
Nov 23 #Python
python 利用turtle库绘制笑脸和哭脸的例子
Nov 23 #Python
Python使用Turtle库绘制一棵西兰花
Nov 23 #Python
用Python实现校园通知更新提醒功能
Nov 23 #Python
利用Python的turtle库绘制玫瑰教程
Nov 23 #Python
You might like
帝国cms目录结构分享
2015/07/06 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
PHP CURL使用详解
2019/03/21 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
不错的新闻标题颜色效果
2006/12/10 Javascript
代码生成器 document.write()
2007/04/15 Javascript
eval的两组性能测试数据
2012/08/17 Javascript
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
浅析JavaScript中的类型和对象
2013/11/29 Javascript
JS通过ajax动态读取xml文件内容的方法
2015/03/24 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
C#中使用迭代器处理等待任务
2015/07/13 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
2015/08/12 Javascript
Bootstrap每天必学之js插件
2015/11/30 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
JavaScript数组去重算法实例小结
2018/05/07 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
2018/09/25 Javascript
详解python3实现的web端json通信协议
2016/12/29 Python
基于Python_脚本CGI、特点、应用、开发环境(详解)
2017/05/23 Python
NetworkX之Prim算法(实例讲解)
2017/12/22 Python
data:image data url 文件转为Blob上传后端的方法
2019/07/16 HTML / CSS
公司董事长岗位职责
2014/06/08 职场文书
大型主题婚礼活动策划方案
2014/09/15 职场文书
三八妇女节寄语
2015/02/27 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
浅谈Python中的正则表达式
2021/06/28 Python
Js类的构建与继承案例详解
2021/09/15 Javascript
Mysql超详细讲解死锁问题的理解
2022/04/01 MySQL
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle