[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('%Y-%m=%d+',time.localtime())) # 将模板设置为"小时-分钟=秒+"
hideturtle()
done()
main()
[代码运行效果截图]