七段数码管(seven-segmentindicator)由7段数码管拼接而成,每段有亮或不亮两种情况,改进型的七段数码管还包括一个小数点位置

绘制模式:

input:输入当前日期的数字形式

process:根据每个数字绘制七段数码管表示

output:绘制当前日期的七段数码管表示

示例一:

#DrawSevenSegDisplay.py

import turtle, datetime

def drawLine(draw): #绘制单段数码管

turtle.pendown() if draw else turtle.penup()

turtle.fd(40)

turtle.right(90)

def drawDigit(digit): #根据数字绘制七段数码管

drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)

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)

turtle.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)

turtle.left(180)

turtle.penup()

turtle.fd(20)

def drawDate(date): #获得要输出的数字

for i in date:

drawDigit(eval(i)) #注意: 通过eval()函数将数字变为整数

def main():

turtle.setup(800, 350, 200, 200)

turtle.penup()

turtle.fd(-300)

turtle.pensize(5)

drawDate(datetime.datetime.now().strftime('%Y%m%d'))

turtle.hideturtle()

main()

效果展示:

示例二:

#DrawSevenSegDisplay.py

import turtle, datetime

def drawGap(): #绘制数码管间隔

turtle.penup()

turtle.fd(5)

def drawLine(draw): #绘制单段数码管

drawGap()

turtle.pendown() if draw else turtle.penup()

turtle.fd(40)

drawGap()

turtle.right(90)

def drawDigit(d): #根据数字绘制七段数码管

drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)

drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)

drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)

drawLine(True) if d in [0,2,6,8] else drawLine(False)

turtle.left(90)

drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)

drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)

drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)

turtle.left(180)

turtle.penup()

turtle.fd(20)

def drawDate(date):

turtle.pencolor("red")

for i in date:

if i == '-':

turtle.write('年',font=("Arial", 18, "normal"))

turtle.pencolor("green")

turtle.fd(40)

elif i == '=':

turtle.write('月',font=("Arial", 18, "normal"))

turtle.pencolor("blue")

turtle.fd(40)

elif i == '+':

turtle.write('日',font=("Arial", 18, "normal"))

else:

drawDigit(eval(i))

def main():

turtle.setup(800, 350, 200, 200)

turtle.penup()

turtle.fd(-350)

turtle.pensize(5)

drawDate(datetime.datetime.now().strftime('%Y-%m=%d+'))

turtle.hideturtle()

main()

效果展示:

总结

以上就是本文关于Python绘制七段数码管实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

本文标题: Python绘制七段数码管实例代码

本文地址: http://www.cppcns.com/jiaoben/python/215261.html

python七段数码管绘制实验报告_Python绘制七段数码管实例代码相关推荐

  1. python七段数码管绘制实验报告_python实现七段数码管和倒计时效果

    python实现七段数码管和倒计时效果 发布时间:2020-09-05 02:55:59 来源:脚本之家 阅读:122 8是典型的七段数码管的例子,因为刚好七段都有经过,这里我写的代码是从1开始右转. ...

  2. java四子棋实验报告_Python 实现劳拉游戏的实例代码(四连环、重力四子棋)

    游戏规则:双方轮流选择棋盘的列号放进自己的棋子, 若棋盘上有四颗相同型号的棋子在一行.一列或一条斜线上连接起来, 则使用该型号棋子的玩家就赢了! 程序实现游戏,并将每局的数据保存到本地的文件中 首先我 ...

  3. python七段数码管绘制实验报告_python—绘制七段数码管

    import turtle,time def drawGap(): #绘制线与线的间距 turtle.penup() turtle.fd(6) def drawLine(draw): #绘制数码管的每 ...

  4. python手写数字识别实验报告_Python代码实现简单的MNIST手写数字识别(适合初学者看)...

    补充:由于很多同学找我要原数据集和代码,所以我上传到了资源里,https://download..net/download/zugexiaodui/10913834 初学机器学习,第一步是做一个简单的 ...

  5. python手写数字识别实验报告_python神经网络编程实现手写数字识别

    本文实例为大家分享了python实现手写数字识别的具体代码,供大家参考,具体内容如下 import numpy import scipy.special #import matplotlib.pypl ...

  6. python手写数字识别实验报告_python实现识别手写数字 python图像识别算法

    写在前面 这一段的内容可以说是最难的一部分之一了,因为是识别图像,所以涉及到的算法会相比之前的来说比较困难,所以我尽量会讲得清楚一点. 而且因为在编写的过程中,把前面的一些逻辑也修改了一些,将其变得更 ...

  7. python数据分析实验报告_Python数据分析综合小练习:销售数据分析

    有这样一个小小的练习题: 卖电子商品的老板,每天记录了自己卖出的U盘,电脑支架,插座,电池,音箱,鼠标,usb数据线,手机充电线等数量,客户的需求是一方面,也可以通过客户购买关联性比较强的商品进行引导 ...

  8. python画图程序实验报告_Python绘图简明教程

    前言 本文纯科普向. 主要介绍一下Python上最好用的2D图形绘制库matplotlib的安装以及一些基础操作. 选择Python是因为其强大的第三方库和优秀便捷的语法,并且能方便地对数据进行后续处 ...

  9. python综合实验报告_Python程序设计实验报告五:综合运用三种基本结构进行程序设计(综合性实验)...

    安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名姚彩琴学号3190505129 成绩 日期 2020.4.22 指导老师修宇 [实验名称]综合运用三种基本结构进行程序设计(综合性实 ...

最新文章

  1. 利用三层交换机实现VLAN间路由
  2. sentinel 官方文档_SpringCloud网关聚合Swagger接口文档实践
  3. Bit-Z推出去中心化多链钱包CoinU 打造资产价值生态体系
  4. 做公益的飞秋(FeiQ)程序代码
  5. 【API进阶之路6】一个技术盲点,差点让整个项目翻车
  6. linux装系统到u盘,萌新的Linux之路(1):安装Linux系统到U盘
  7. VC6生成Release版本程序
  8. 宋体和英文字号与matlab中对照,CSS字体中英文名称对照表:如宋体对应SimSun
  9. mysql左链sql去重,MySQL数据库去重 SQL解决
  10. 微信公众平台与微信公众平台的区别与联系
  11. 【色彩管理】色彩管理之灰平衡
  12. 数字电路 时序逻辑电路
  13. 惊!Go里面居然有这样精妙的小函数!
  14. 小目标检测的一些理解
  15. php居中缩放图片,PHP对图片等比缩放和补白居中
  16. 篮球图片html页面代码,教你用PS制作一个非常逼真的篮球图片
  17. Keras 主要的层函数
  18. 使用httpclient进行 Http get请求带参数cookie
  19. 循环-菲波那切数列II
  20. 第三章 ContextCapture 19 空三处理

热门文章

  1. 运行pixellib出现错误
  2. 华芯微特SWM320TFT屏人机交互方案手册
  3. django自带模块实现翻页功能
  4. 六种方法提升营销和文案水平的有效方法
  5. 小程序:下载图片文件(wx.downloadFile)并保存到手机相册(wx.saveImageToPhotosAlbum)
  6. 《算法笔记》9.4小节 9.5小节——数据结构专题(2)->二叉查找树(BST)->平衡二叉树(AVL)
  7. 雷神加速器无限更新失败️️️
  8. 如何在jupyter notebook 中修改主题、字体、字号等
  9. 电脑无法连接wifi得解决方法
  10. 手机端网站底部悬浮 广告代码 代关闭_只要是安卓手机就不能少这个APP