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:socket传输大文件示例
Jan 18 Python
python里使用正则表达式的组嵌套实例详解
Oct 24 Python
python生成不重复随机数和对list乱序的解决方法
Apr 09 Python
Python实现多线程的两种方式分析
Aug 29 Python
解决pyttsx3无法封装的问题
Dec 24 Python
对Python的多进程锁的使用方法详解
Feb 18 Python
PyQt5固定窗口大小的方法
Jun 18 Python
python多线程并发实例及其优化
Jun 27 Python
pycharm修改file type方式
Nov 19 Python
Python多线程实现支付模拟请求过程解析
Apr 21 Python
Python实现一个简单的毕业生信息管理系统的示例代码
Jun 08 Python
Python SQLAlchemy库的使用方法
Oct 13 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
redis 队列操作的例子(php)
2012/04/12 PHP
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
docker-compose部署php项目实例详解
2019/07/30 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
jQuery Validate验证框架详解(推荐)
2016/12/17 Javascript
vue.js实现仿原生ios时间选择组件实例代码
2016/12/21 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
jQuery实现三级联动效果
2017/03/02 Javascript
vue.js删除动态绑定的radio的指定项
2017/06/02 Javascript
Javascript中弹窗confirm与prompt的区别
2018/10/26 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
Python中xml和json格式相互转换操作示例
2018/12/05 Python
浅谈PYTHON 关于文件的操作
2019/03/19 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
英国户外装备商店:Ultimate Outdoors
2019/05/07 全球购物
教师实习自我鉴定
2013/12/14 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
初三学习决心书
2014/03/11 职场文书
宣传普通话标语
2014/06/27 职场文书
高中生学习计划书
2014/09/15 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
违纪检讨书
2015/01/27 职场文书
军训新闻稿范文
2015/07/17 职场文书
OpenCV3.3+Python3.6实现图片高斯模糊
2021/05/18 Python