实现功能
获取当前系统时间并用海龟画出来
不足/可改进的地方
- 绘画时间较长
- 要是可以每秒刷新一下就好了呀(就可以当个时钟了qwq)
代码
import turtle
import time
def drawLine(draw):
turtle.speed(0)
turtle.pensize(5)
turtle.pendown()
turtle.getscreen().colormode(255)
turtle.color("red") if draw else turtle.pencolor(219,219,221)
turtle.left(30)
turtle.fd(5)
turtle.right(30)
turtle.fd(20)
turtle.right(30)
turtle.fd(5)
turtle.right(120)
turtle.fd(5)
turtle.right(30)
turtle.fd(20)
turtle.right(30)
turtle.fd(5)
turtle.penup()
turtle.right(150)
turtle.fd(32.5)
turtle.right(90)
turtle.fd(5)
def drawLine2(draw):
turtle.speed(0)
turtle.pensize(10)
turtle.pendown()
turtle.getscreen().colormode(255)
turtle.color("red") if draw else turtle.pencolor(219,219,221)
turtle.left(30)
turtle.fd(10)
turtle.right(30)
turtle.fd(40)
turtle.right(30)
turtle.fd(10)
turtle.right(120)
turtle.fd(10)
turtle.right(30)
turtle.fd(40)
turtle.right(30)
turtle.fd(10)
turtle.penup()
turtle.right(150)
turtle.fd(65)
turtle.right(90)
turtle.fd(10)
def drawDigit(d):
drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,6,8] else drawLine(False)
turtle.fd(-5)
turtle.left(90)
turtle.fd(5)
drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
turtle.fd(-5)
turtle.left(180)
turtle.penup()
turtle.fd(30)
def drawDigit2(d):
drawLine2(True) if d in [2,3,4,5,6,8,9] else drawLine2(False)
drawLine2(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine2(False)
drawLine2(True) if d in [0,2,3,5,6,8,9] else drawLine2(False)
drawLine2(True) if d in [0,2,6,8] else drawLine2(False)
turtle.fd(-10)
turtle.left(90)
turtle.fd(10)
drawLine2(True) if d in [0,4,5,6,8,9] else drawLine2(False)
drawLine2(True) if d in [0,2,3,5,6,7,8,9] else drawLine2(False)
drawLine2(True) if d in [0,1,2,3,4,7,8,9] else drawLine2(False)
turtle.fd(-10)
turtle.left(180)
turtle.penup()
turtle.fd(60)
def drawDate(date):
for i in date:
if i == '-':
drawLine(True)
turtle.fd(-10)
turtle.left(90)
turtle.fd(60)
else:
drawDigit(eval(i))
def drawDate2(date):
for i in date:
if i==':':
turtle.pensize(20)
turtle.penup()
turtle.fd(20)
turtle.left(90)
turtle.fd(20)
turtle.pendown()
turtle.fd(-1)
turtle.penup()
turtle.left(180)
turtle.fd(40)
turtle.pendown()
turtle.fd(-1)
turtle.penup()
turtle.left(180)
turtle.fd(19)
turtle.right(90)
turtle.fd(60)
else:
drawDigit2(eval(i))
def main():
turtle.setup(1500, 600, 200, 200)
turtle.penup()
turtle.goto(-550,150)
drawDate(time.strftime("%Y-%m-%d",time.gmtime()))
turtle.goto(-550,-100)
drawDate2(time.strftime("%H:%M:%S",time.localtime()))
turtle.hideturtle()
turtle.done()
main()