## 0、导入库模块
#import turtle #导入turtle库,方法前面一定要添加库名
from turtle import * #导入turtle库,方法前面不添加库名
from random import * #导入random库,方法前面不添加库名
import time #导入时间time,方法前面一定要添加库名
## 1、绘制单段管间隔(绘制空隙)
def drawGap(): #定义绘制间隔函数def drawGap():
penup() #将画笔设置飞行模式
fd(5) #画笔向前行走5像素
## 2、绘制单段数码管(绘制单段)
def drawLine(draw): #定义绘制单段管
drawGap() #调用绘制间隔函数(函数的调用与函数的嵌套)
if draw:
pendown() #如果绘制将画笔设置成画图状态
else:
penup() #否侧将画笔设置成飞行状态
fd(40) #将画笔前进四十像素,以画出一段数码管
drawGap()
right(90) #将画笔向右旋转90度
## 3、根据数字绘制七段数码管(绘制数字)
def drawDigit(digit):
pencolor('red')
drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
#运用if推导表达式调用函数
"""
if digit in [2,3,4,5,6,8,9]:
drawLine(True)
else:
drawLine(False)
"""
#画第二段
pencolor(random(),random(),random()) #将画笔颜色随机0-1取值
drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
#画第三段
pencolor(random(),random(),random()) #将画笔颜色随机0-1取值
drawLine(True) if digit in [0,2,3,5,6,8] else drawLine(False)
#画第四段
pencolor(random(),random(),random()) #将画笔颜色随机0-1取值
drawLine(True) if digit in [0,2,6,8] else drawLine(False)
#画第五段
left(90) #将海龟前进的方向向右旋转90度
pencolor(random(),random(),random()) #将画笔颜色随机0-1取值
drawLine(True) if digit in [0,4,5,6,8,9] else drawLine(False)
#画第六段
pencolor(random(),random(),random()) #将画笔颜色随机0-1取值
drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
#画第七段
pencolor(random(),random(),random()) #将画笔颜色随机0-1取值
drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
left(180) #将海龟前进的方向旋转180度
penup() #将画笔设置成飞行状态
fd(20) #将每个数字之间设置二十像素间距
## 4、获取绘制时间(先从键盘上面获取,再优化到系统时间)
def drawData(date): #定义时间数字函数
for i in date: #循环打印出时间的每一个数字
drawDigit(eval(i)) #将字符串转换成数字
## 5、定义主函数(设置画笔大小颜色画布等)
def main(): #定义设置画笔大小颜色画布等
setup(850,350) #设置画布的大小
bgcolor('black') #设置画布为黑色
speed(300) #设置海龟画笔的速度为300
penup()
fd(-350) #设置画笔往左飞行350像素
pensize(5) #设置画笔大小为5像素
drawData(input('请输入您要绘制的生日日期:')) #从键盘输入生日日期
hideturtle() #隐藏海龟画笔
done() #设置时间结束
## 6、调用主函数实现效果
if __name__=='__main__': #当主函数为脚本时调用执行主函数
main() #调用主函数
#mainloop() #设置界面循环