运用Function函数与time库制作
1.导入库模块
#import turtle #导入turtle画图库 其方法前面必须添加库名turtle
from turtle import* #导入turtle画图库,其方法前面一定不能添加库名
from random import* #导入random随机库,其方法前面一定不能添加库名
import time #导入time时间库,其方法前面必须要添加库名time
2.绘制单段数码管的间隙
def drawGap ():
penup() #将画笔设置成飞行模式
fd(5) #将画笔前行5像素
3.绘制单段数码管
def drawLine(draw):
drawGap () #调用间隙函数,画单段的起始间隙
if draw:
pendown()
else:
penup()
fd(20) #将画笔向前进20像素
drawGap() #第二次调用间隙函数,画单段的终止间隙
right(90) #将画笔向下(前进向右)旋转90度
4.绘制单个数字
def drawDigit(digit):
#画第1段
pencolor(random(),random(),random())
#用random随机库函数设置画笔的颜色
drawLine(True) if digit in [3,4,5,6,8,9] else drawLine(False)
#1用if...else表达式画第一段单管
#画第2段
pencolor(random(),random(),random())
#用random随机库函数设置画笔的颜色
drawLine(True) if digit in[0,1,3,4,5,6,8,9] else drawLine(False)
#画第3段
pencolor(random(),random(),random())
#用random随机库函数设置画笔的颜色
drawLine(True) if digit in[0,2,3,5,6,8,9] else drawLine(False)
#画第4段
pencolor(random(),random(),random())
#用random随机库函数设置画笔的颜色
drawLine(True) if digit in[2,3,4,5,6,8,9] else drawLine(False)
left(90) #将画笔向上(前进向左)旋转90度
#画第5段
pencolor(random(),random(),random())
#用random随机库函数设置画笔的颜色
drawLine(True) if digit in[4,5,6,8,9] else drawLine(False)
#画第6段
pencolor(random(),random(),random())
#用random随机库函数设置画笔的颜色
drawLine(True) if digit in[0,2,3,4,5,6,8,9]else drawLine(False)
#画第7段
pencolor(random(),random(),random())
#用random随机库函数设置画笔的颜色
drawLine(True) if digit in[2,3,4,5,6,8,9] else drawLine(False)
left(180) #将画笔旋转180度
penup() #将画笔设置飞行模式
fd(20) #将画笔前进20像素
random()
for i in range(6):
pencolor(random(),random(),random())
pensize(8)
fd(200)
left(60)
5.获取绘制的数码管数字
def drawData(date):
for i in date:
if i =='-':
write('年',font=("楷体",20,"normal"))
fd(40)
elif i =='=':
write('月',font=("楷体",20,"normal"))
fd(40)
elif i =='+':
write('日',font=("楷体",20,"normal"))
fd(40)
elif i ==':':
write('时',font=("楷体",20,"normal"))
fd(40)
elif i =='*':
write('分',font=("楷体",20,"normal"))
fd(40)
elif i =='$':
write('秒',font=("楷体",20,"normal"))
fd(40)
drawDigit(eval(i)) #将获取的字符串转化为数值类型
6.编写主函数(设置画布和画笔的属性等)
def main():
setup(1500,350,0,200) #设置画布的宽和高以及左上角圆点坐标位置
bgcolor('black')
penup()
pensize(5)
speed(300) #画笔工作的速度为300ps
fd(-600) #将画笔向左飞行600像素
drawData(input('请输入绘制的日期:')) #调用函数从键盘上获取绘制的日期数字
#drawData(time.strftime('%Y-%m=%d+%H*%M:%$'))
hideturtle() #隐藏画笔
done() #关闭画笔工作状态
time.time()
time.localtime()
time.strftime('%Y年%m月%d日%H时%M分%S秒')
7.调用主函数绘制效果图
if __name__ =='__main__': #当主函数为脚本代码时执行下面语句(函数)
main()