Python,七段电子数码管时间绘制代码(颜色随机)

## 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()                #设置界面循环

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值