七段电子数码管时间绘制

# 0、导入库模快

#import turtle   #导入turtle库,方法前面一定要添加库名
from turtle import *  #导入turtle库,方法前面不添加库名
from random import *  #导入turtle库,方法前面不添加库名
import time            #导入时间库,方法前面一定要添加库名

# 1、绘制单段管间隔(绘制空隙)

def drawGap():   #定义绘制间隔函数drawGap() 
    penup()       #将画笔设置飞行状态
    fd(5)        #画笔向前行走5像素
    

# 2、绘制单段数码管(绘制单段)

def drawLine(draw):      #定义绘制单段数码管
    drawGap()             #调用绘制间隔函数(函数的调用与函数的嵌套)
    if draw:
        pendown()       #如果绘制,将画笔设置成画图状态
    else:
        penup()        #否则将画笔设置成飞行状态
    fd(40)     #将画笔前进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控制语句,画第1段
    """
    if digit in [2,3,4,5,6,8,9]:
        drawLine(True)
    else:
        drawLine(False)
    """
    #画第2段
    pencolor(random(),random(),random())   #将画笔颜色随机取0-1范围值
    drawLine(True) if digit in [0,1,3,4,5,6,7,8,9] else drawLine(False)
    #画第3段
    pencolor(random(),random(),random())
    drawLine(True) if digit in [0,2,3,5,6,8,9] else drawLine(False)
    #画第4段
    pencolor(random(),random(),random())
    drawLine(True) if digit in [0,2,6,8] else drawLine(False)
    #画第5段
    left(90)     #将海龟前进的方向向右旋转90度
    pencolor(random(),random(),random())
    drawLine(True) if digit in [0,4,5,6,7,8,9] else drawLine(False)
    #画第6段
    pencolor(random(),random(),random())
    drawLine(True) if digit in [0,2,3,5,6,7,8,9] else drawLine(False)
    #画第7段
    pencolor(random(),random(),random())
    drawLine(True) if digit in [0,1,2,3,4,7,8,9] else drawLine(False)
    left(180)   #将海龟前进的方向旋转180度
    penup()   #将画笔设置成飞行状态
    fd(20)    #将每个数字之间设置20像素间距

# 4、获取绘制的时间数字(先从键盘上获取,在优化到系统时间)

def drawData(data):    #定义时间数字函数
    for i in data:     #循环打印出时间的每一个数字
        drawDigit(eval(i))   #将字符串转换成数字

# 5、定义主函数(设置画笔大小颜色画布等)

def main():   #定义主函数,设置画布画笔属性等
    setup(850,350,200,200)   #设置画布大小
    bgcolor('black')     #设置画布为黑色
    speed(300)     #设置海龟画笔的速度为300
    penup()
    fd(-350)     #设置护臂往左飞行350像素
    pensize(5)    #设置画笔大小为5像素
    drawData(input('请输入您要绘制的生日日期:'))   #从键盘上输入绘制的生日日期
    hideturtle()    #隐藏海龟画笔
    done()    #设置事件结束

# 6、调用主函数实现效果

if __name__=='__main__':     #当主函数为脚本是执行下面主函数
    main()   #调用主函数
    #mainloop()   #设置界面循环

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值