7段数码管绘制(小时,分,秒)
python代码:
# 七段数码管的绘制.py from turtle import * # 调用turtle、random、time库 from random import * import time def drawGap(): penup() # 提笔 fd(5) def drawLine(draw): drawGap() if draw: # 除了七段数码管提笔,其余停笔 pendown() else: penup() fd(40) # 向前40 drawGap() right(90) # 向右旋转90 def drawDight(digit): pencolor(random(), random(), random()) # 颜色随机 drawLine(True) if digit in [2, 3, 4, 5, 6, 8, 9] else drawLine(False) # 第一段那些数字会经过 pencolor(random(), random(), random()) drawLine(True) if digit in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False) pencolor(random(), random(), random()) drawLine(True) if digit in [0, 2, 3, 5, 6, 8, 9] else drawLine(False) pencolor(random(), random(), random()) drawLine(True) if digit in [0, 2, 6, 8] else drawLine(False) pencolor(random(), random(), random()) left(90) # 向左旋转90度 drawLine(True) if digit in [0, 4, 5, 6, 8, 9] else drawLine(False) pencolor(random(), random(), random()) drawLine(True) if digit in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False) pencolor(random(), random(), random()) drawLine(True) if digit in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False) pencolor(random(), random(), random()) left(180) penup() # 为绘制后续数字确定位置 fd(20) # 为绘制后续数字确定位置 def drawDate(date): for i in date: if i == '-': # 设定年、月、日的单位 write('小时', font=("Arial", 28, "normal")) pencolor("orange") fd(40) elif i == '=': write('分', font=("Arial", 28, "normal")) pencolor("pink") fd(40) elif i == '+': write('秒', font=("Arial", 28, "normal")) pencolor("yellow") else: drawDight(eval(i)) def main(): setup(800, 350, 200, 200) # 设置画布大小 penup() fd(-300) pensize(5) drawDate(time.strftime('%H-%M=%S+', time.localtime())) # 将模板设置为"小时-分钟=秒+" hideturtle() done() main()
运行结果:
标签:digit,drawLine,True,random,pencolor,else,数码管,小时,绘制 From: https://www.cnblogs.com/LXxx007/p/17849890.html