#(1)七段电子数码管绘制.py
#(2)导入库模块
import turtle
#turtle....
import turtle as t
#t....
#import turtle as t
#t.done() ...
from turtle import *
from random import *
from time import *
#(3)绘制单段间隔
def drawGap():
penup()
fd(5)
#(4)绘制单段数码管 (单个数字)
def drawline(draw):
drawGap()
if draw:
pendown()
else:
penup()
fd(40)
drawGap()
right(90)
#(5)根据数字绘制七段数码管 (多个数字)
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)
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)
pencolor(random(),random(),random())
left(180)
drawGap()
penup()
fd(20)
#(6)获得要输出的数字
def drawData(date): #date为日期,格式为'%Y-%m=%d+'
pencolor("red")
for i in date:
if i=='-':
write('年',font=("楷体",20,"normal"))
pencolor("green")
fd(40)
elif i=='=':
write('月',font=("楷体",20,"normal"))
pencolor("blue")
fd(40)
elif i=='+':
write('日',font=("楷体",20,"normal"))
else:
drawDigit(eval(i)) #调用drawDigit()函数
#(7)主函数编写(函数的调用,设置画布与画笔等)
def main():
setup(800,350,200,200)
penup()
fd(-300)
pensize(5)
#drawData(input('请输入您要绘制的日期:'))
drawData(strftime('%Y-%m=%d+',localtime()))
hideturtle()
done()
#(8)调用主函数
main()