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多线程用法实例详解
Jan 15 Python
python利用正则表达式提取字符串
Dec 08 Python
Python实现随机生成手机号及正则验证手机号的方法
Apr 25 Python
Python过滤txt文件内重复内容的方法
Oct 21 Python
Django渲染Markdown文章目录的方法示例
Jan 02 Python
python输出数组中指定元素的所有索引示例
Dec 06 Python
Python 读取 YUV(NV12) 视频文件实例
Dec 09 Python
Python使用psutil获取进程信息的例子
Dec 17 Python
Pycharm生成可执行文件.exe的实现方法
Jun 02 Python
简单了解Django项目应用创建过程
Jul 06 Python
Python中bisect的用法及示例详解
Jul 20 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
Jul 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
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
PHP检测链接是否存在的代码实例分享
2016/05/06 PHP
PHP实现文件上传功能实例代码
2017/05/18 PHP
IOS 开发之NSDictionary转换成JSON字符串
2017/08/14 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
2018/01/29 PHP
15款优秀的jQuery导航菜单插件分享
2011/07/19 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
jquery属性过滤选择器使用示例
2013/06/18 Javascript
jQuery中prevUntil()方法用法实例
2015/01/08 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
详解js中==与===的区别
2017/01/08 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
Node.js通过身份证号验证年龄、出生日期与性别方法示例
2017/03/09 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
VUE重点问题总结
2018/03/19 Javascript
详解Vue源码之数据的代理访问
2018/12/11 Javascript
vue 引用自定义ttf、otf、在线字体的方法
2019/05/09 Javascript
js实现内置计时器
2019/12/16 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
Python logging模块学习笔记
2014/05/24 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
PyTorch 1.0 正式版已经发布了
2018/12/13 Python
python中turtle库的简单使用教程
2020/11/11 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
Brookstone美国官网:独特新奇产品
2017/03/04 全球购物
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
澳洲的UGG雪地靴超级市场:Uggs.com.au
2020/04/06 全球购物
招聘与培训专员岗位职责
2014/01/30 职场文书
工程承诺书怎么写
2014/05/24 职场文书
长征观后感
2015/06/09 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL