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 Sql数据库增删改查操作简单封装
Apr 18 Python
Python matplotlib画图实例之绘制拥有彩条的图表
Dec 28 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
Python定义二叉树及4种遍历方法实例详解
Jul 05 Python
windows下python安装小白入门教程
Sep 18 Python
调试Django时打印SQL语句的日志代码实例
Sep 12 Python
解决django-xadmin列表页filter关联对象搜索问题
Nov 15 Python
Numpy中ndim、shape、dtype、astype的用法详解
Jun 14 Python
Python unittest生成测试报告过程解析
Sep 08 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
Sep 11 Python
Python安装Bs4的多种方法
Nov 28 Python
深入探讨opencv图像矫正算法实战
May 21 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
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
php根据生日计算年龄的方法
2015/07/13 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
小型js框架veryide.librar源代码
2009/03/05 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
js实现可控制左右方向的无缝滚动效果
2016/05/29 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
vue 出现data-v-xxx的原因及解决
2020/08/04 Javascript
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
[50:27]Secret vs VG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
Python使用scrapy采集时伪装成HTTP/1.1的方法
2015/04/08 Python
Python NumPy库安装使用笔记
2015/05/18 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
Django REST framework 分页的实现代码
2019/06/19 Python
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
python turtle 绘制太极图的实例
2019/12/18 Python
使用pandas库对csv文件进行筛选保存
2020/05/25 Python
如何用Python徒手写线性回归
2021/01/25 Python
生物技术专业研究生自荐信
2013/09/22 职场文书
教师求职推荐信范文
2013/11/20 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
环保标语口号
2014/06/13 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
演讲开场白和结束语
2015/05/29 职场文书
教育教学读书笔记
2015/07/02 职场文书
详解pytorch创建tensor函数
2022/03/22 Python
基于Python编写一个监控CPU的应用系统
2022/06/25 Python