【Python】七段数码管绘制问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【Python】七段数码管绘制问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3451字,纯文字阅读大概需要5分钟。
内容图文
![【Python】七段数码管绘制问题](/upload/InfoBanner/zyjiaocheng/1208/4cd9114f94ec4865bf334a1a38ec0560.jpg)
问题分析:
绘制路径:
代码:
import turtle #引入绘图库turtledef drawLine(draw): #绘制单段数码管 turtle.pendown() if draw else turtle.penup() turtle.fd(40) #前进40像素 turtle.right(90)#旋转90度,完成一条线的绘制def drawDight(dight):#根据数字绘制七段数码管 drawLine(True) if dight in [2,3,4,5,6,8,9] else drawLine(False) drawLine(True) if dight in [0,1,3,4,5,6,7,8,9] else drawLine(False) drawLine(True) if dight in [0,2,3,5,6,8,9] else drawLine(False) drawLine(True) if dight in [0,2,6,8] else drawLine(False) turtle.left(90) drawLine(True) if dight in [0,4,5,6,8,9] else drawLine(False) drawLine(True) if dight in [0,2,3,5,6,7,8,9] else drawLine(False) drawLine(True) if dight 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: drawDight(eval(i)) #通过eval()函数家将数字转化为整数def main(): turtle.setup(800,350,200,200) turtle.penup() turtle.fd(-300) turtle.pensize(5) drawDate(‘20200217‘) turtle.hideturtle() turtle.done() main()
结果:
实现数码管效果
import turtle #引入绘图库turtledef drawGap():#绘制数码管间隔,实现数码管效果 turtle.penup() turtle.fd(5) def drawLine(draw): #绘制单段数码管 drawGap() turtle.pendown() if draw else turtle.penup() turtle.fd(40) #前进40像素 drawGap() turtle.right(90)#旋转90度,完成一条线的绘制def drawDight(dight):#根据数字绘制七段数码管 drawLine(True) if dight in [2,3,4,5,6,8,9] else drawLine(False) drawLine(True) if dight in [0,1,3,4,5,6,7,8,9] else drawLine(False) drawLine(True) if dight in [0,2,3,5,6,8,9] else drawLine(False) drawLine(True) if dight in [0,2,6,8] else drawLine(False) turtle.left(90) drawLine(True) if dight in [0,4,5,6,8,9] else drawLine(False) drawLine(True) if dight in [0,2,3,5,6,7,8,9] else drawLine(False) drawLine(True) if dight 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: drawDight(eval(i)) #通过eval()函数家将数字转化为整数def main(): turtle.setup(800,350,200,200) turtle.penup() turtle.fd(-300) turtle.pensize(5) drawDate(‘20200217‘) turtle.hideturtle() turtle.done() main()
import turtle,time #引入绘图库turtle time库def drawGap():#绘制数码管间隔,实现数码管效果 turtle.penup() turtle.fd(5) def drawLine(draw): #绘制单段数码管 drawGap() turtle.pendown() if draw else turtle.penup() turtle.fd(40) #前进40像素 drawGap() turtle.right(90)#旋转90度,完成一条线的绘制def drawDight(dight):#根据数字绘制七段数码管 drawLine(True) if dight in [2,3,4,5,6,8,9] else drawLine(False) drawLine(True) if dight in [0,1,3,4,5,6,7,8,9] else drawLine(False) drawLine(True) if dight in [0,2,3,5,6,8,9] else drawLine(False) drawLine(True) if dight in [0,2,6,8] else drawLine(False) turtle.left(90) drawLine(True) if dight in [0,4,5,6,8,9] else drawLine(False) drawLine(True) if dight in [0,2,3,5,6,7,8,9] else drawLine(False) drawLine(True) if dight in [0,1,2,3,4,7,8,9] else drawLine(False) turtle.left(180) turtle.penup() #为绘制后续数字确定位置 turtle.fd(20) #为绘制后续数字确定位置def drawDate (date):#data为日期,格式为“%Y-%m=%d+” 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: drawDight(eval(i)) def main(): turtle.setup(800,350,200,200) turtle.penup() turtle.fd(-300) turtle.pensize(5) drawDate(time.strftime(‘%Y-%m=%d+‘,time.gmtime()))#获取系统时间并格式化 turtle.hideturtle() turtle.done() main()
原文:https://www.cnblogs.com/HGNET/p/12322903.html
内容总结
以上是互联网集市为您收集整理的【Python】七段数码管绘制问题全部内容,希望文章能够帮你解决【Python】七段数码管绘制问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。