## 0、导入库模块
#import turtle #方法前一定要加库名
from turtle import * #导入turtle库,方法前面不添加库名
from random import *
import time
## 1、绘制单段管间隔(绘制间隙)
def drawGap(): #定义绘制间隔函数drawGap
penup() #将画笔设置为飞行状态
fd(5) #画笔向前行走5像素
## 2、绘制单段数码管(绘制单段)
def drawLine(draw): #定义绘制单段管
drawGap() #调用绘制间隔函数(函数的调用与函数的嵌套)
if draw:
pendown() #如果绘制,将画笔设置为画图状态
fd(50)
else:
penup() #设置为飞行模式
fd(50)
drawGap()
## 3、根据数字绘制七段数码管(绘制数字)
def drawDigit(digit):
pencolor(random(),random(),random())
drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)#1
right(90)
pencolor(random(),random(),random())
drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)#2
right(90)
pencolor(random(),random(),random())
drawLine(True) if digit in [0,2,3,5,6,8] else drawLine(False)#3
right(90)
pencolor(random(),random(),random())
drawLine(True) if digit in [0,2,6,8] else drawLine(False)#4
pencolor(random(),random(),random())
drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)#5
right(90)
pencolor(random(),random(),random())
drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)#6
right(90)
pencolor(random(),random(),random())
drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)#7
pencolor(random(),random(),random())
left(90)
penup()
fd(20)
## 4、获得要输出的数字(先从键盘上获取,再优化到系统时间)
def drawData(date):
for i in date:
drawDigit(eval(i))
## 5、主函数(设备画布与画笔等)
def main():
setup(850,350) #设置画布大小
bgcolor('white') #画布的颜色
speed(300) #画笔的速度
penup()
fd(-350)
pensize(5)
drawData(input('请输入日期:'))
hideturtle()
done()
## 6、调用主函数实现效果
if __name__ == '__main__':
main()