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在windows下实现备份程序实例
Jul 04 Python
Python使用Scrapy爬取妹子图
May 28 Python
Python验证文件是否可读写代码分享
Dec 11 Python
python实现一个简单的并查集的示例代码
Mar 19 Python
PyTorch线性回归和逻辑回归实战示例
May 22 Python
python opencv旋转图像(保持图像不被裁减)
Jul 26 Python
Python读取excel中的图片完美解决方法
Jul 27 Python
Python使用matplotlib绘制三维图形示例
Aug 25 Python
详解Python循环作用域与闭包
Mar 21 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
Jul 15 Python
windows10在visual studio2019下配置使用openCV4.3.0
Jul 14 Python
pandas 按日期范围筛选数据的实现
Feb 20 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
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
2014年10个最佳的PHP图像操作库
2014/07/14 PHP
一个简洁实用的PHP缓存类完整实例
2014/07/26 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
2018/05/25 PHP
Javascript中暂停功能的实现代码
2007/03/04 Javascript
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
js监听输入框值的即时变化onpropertychange、oninput
2011/07/13 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
初探nodeJS
2017/01/24 NodeJs
NodeJS服务器实现gzip压缩的示例代码
2018/10/12 NodeJs
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
2019/05/07 Javascript
Async/Await替代Promise的6个理由
2019/06/15 Javascript
Vue中util的工具函数实例详解
2019/07/08 Javascript
Vue项目实现简单的权限控制管理功能
2019/07/17 Javascript
ES6基础之 Promise 对象用法实例详解
2019/08/22 Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
2020/04/09 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
Python中内建模块collections如何使用
2020/05/27 Python
AmazeUI在模态框中嵌入表单形成模态输入框
2020/08/20 HTML / CSS
德国狗狗用品在线商店:Schecker
2017/03/17 全球购物
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
英国奢侈品牌时尚购物平台:Farfetch(支持中文)
2020/02/18 全球购物
大学生毕业自我鉴定范文
2013/09/19 职场文书
事业单位辞职信范文
2014/01/19 职场文书
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
关于母亲节的感言
2014/02/04 职场文书
工商治理实习生的自我评价分享
2014/02/20 职场文书
《白鹅》教学反思
2014/04/13 职场文书
重阳节活动主持词
2015/07/04 职场文书
跟班学习心得体会(共6篇)
2016/01/23 职场文书