Python绘制数码晶体管日期
(编辑:jimmy 日期: 2024/12/27 浏览:3 次 )
本文实例为大家分享了Python绘制数码晶体管日期的具体代码,供大家参考,具体内容如下
源码:
drawLine(draw) 画一条线
drawDight(dight) 画一个数字
drawDate(date) 画一组数字
代码:
import turtle, time def drawLine(draw): turtle.pendown() if draw else turtle.penup() turtle.fd(40) turtle.right(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.right(180) turtle.penup() turtle.fd(20) def drawDate(date): turtle.pencolor("red") for i in date: if i == '-': turtle.write('年', font=("微软雅黑", 32, "normal")) turtle.pencolor("green") turtle.fd(80) elif i == '=': turtle.write('月', font=("微软雅黑", 32, "normal")) turtle.pencolor("blue") turtle.fd(80) elif i == '+': turtle.write('日', font=("微软雅黑", 32, "normal")) turtle.pencolor("red") turtle.fd(80) elif i == '/': turtle.write('时', font=("微软雅黑", 32, "normal")) turtle.pencolor("green") turtle.fd(80) elif i == '*': turtle.write('分', font=("微软雅黑", 32, "normal")) turtle.pencolor("blue") turtle.fd(80) elif i == '.': turtle.write('秒', font=("微软雅黑", 32, "normal")) turtle.fd(80) else: drawDight(eval(i)) if __name__ == '__main__': # turtle.setup() 我用的是pycharm,所以没有设置画布,idle下需要设置 turtle.penup() turtle.fd(-350) turtle.pensize(5) turtle.speed(1000) # 速度再大也没感觉了 drawDate(time.strftime('%Y-%m=%d+', time.localtime())) # 这里千万不要用time.gmtime()),获取的是UTC时区(0时区)的struct_time # 踩了半天坑 turtle.right(90) turtle.fd(120) turtle.right(90) turtle.fd(660) turtle.right(180) drawDate(time.strftime('%H/%M*%S.', time.localtime())) turtle.hideturtle() turtle.done()
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇:基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码