1,导入库模块(注意在导入turtle库和time时,方法前一定要加入库名)
2,进行单端管间隔的绘制和单端数码管的绘制
3,使用分段函数去分别去定义单个数字的数码管的绘制,同时定义获取绘制的时间
4,定义主函数和调用主函数实现效果
完整代码和运行结果如下:
## 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() # 调用主函数