2018.4.21(python)七段数码管的绘制

 

/********************************手动输入日期显示********************************/

import turtle

def drawline(draw):      #绘制单段数码管 
    turtle.pendown()if draw else turtle.penup()   #如果draw是真值就让海龟画笔落下 否则抬起
    turtle.fd(40)
    turtle.right(90)
    
def drawdigit(digit):       #根据数字绘制七段数码管
    drawline(True) if digit in [2,3,4,5,6,8,9]else drawline(False) #显示[]中的数字需要这段数码管
    drawline(True) if digit in [0,1,3,4,5,6,7,8,9]else drawline(False)
    drawline(True) if digit in [0,2,3,5,6,8,9]else drawline(False)
    drawline(True) if digit in [0,2,6,8]else drawline(False)
    #前四段数码管绘制完成
    turtle.left(90)      #将海龟方向转向
    drawline(True) if digit in [0,4,5,6,8,9]else drawline(False)
    drawline(True) if digit in [0,2,3,5,6,7,8,9]else drawline(False)
    drawline(True) if digit in [0,1,2,3,4,7,8,9]else drawline(False)
    turtle.left(180)
    turtle.penup()      
    turtle.fd(20)       #为绘制后续数字确定位置


def drawdate(date):
    for i in date:
        drawdigit(eval(i))


def main():
    turtle.setup(1200,550,200,200)
    turtle.penup()
    turtle.fd(-500)
    turtle.pensize(5)
    drawdate('2018')
    turtle.penup()
    turtle.fd(90)
    drawdate('04')
    turtle.penup()
    turtle.fd(90)
    drawdate('20')
    turtle.hideturtle()
    turtle.done()

main()



/********************************用time函数获取当前时间,显示实时时间********************************/

import turtle,time


def drawline(draw):      #绘制单段数码管 
    turtle.pendown()if draw else turtle.penup()   #如果draw是真值就让海龟画笔落下 否则抬起
    turtle.fd(40)
    turtle.right(90)
    
def drawdigit(digit):       #根据数字绘制七段数码管
    drawline(True) if digit in [2,3,4,5,6,8,9]else drawline(False) #显示[]中的数字需要这段数码管
    drawline(True) if digit in [0,1,3,4,5,6,7,8,9]else drawline(False)
    drawline(True) if digit in [0,2,3,5,6,8,9]else drawline(False)
    drawline(True) if digit in [0,2,6,8]else drawline(False)
    #前四段数码管绘制完成
    turtle.left(90)      #将海龟方向转向
    drawline(True) if digit in [0,4,5,6,8,9]else drawline(False)
    drawline(True) if digit in [0,2,3,5,6,7,8,9]else drawline(False)
    drawline(True) if digit in [0,1,2,3,4,7,8,9]else drawline(False)
    turtle.left(180)
    turtle.penup()      
    turtle.fd(20)       #为绘制后续数字确定位置




def drawdate(date):
        turtle.pencolor("red")
        for i in date:
                if i=='-':
                        turtle.write('年',font=("Arial",18,"normal"))
                        turtle.pencolor("green")
                        turtle.fd(40)
                elif i=='=':
                        turtle.write('月',font=("Arial",18,"normal"))
                        turtle.pencolor("blue")
                        turtle.fd(40)
                elif i=='+':
                        turtle.write('日',font=("Arial",18,"normal"))
                else:
                        drawdigit(eval(i))




def main():
    turtle.setup(1200,550,200,200)
    turtle.penup()
    turtle.fd(-500)
    turtle.pensize(5)
    drawdate(time.strftime('%Y-%m=%d+',time.gmtime()))
    turtle.hideturtle()
    turtle.done()
 
main()



猜你喜欢

转载自blog.csdn.net/weixin_41815104/article/details/80024716