绘制钟表和时间(python版)

import turtle
import time

turtle.setup(650,350,200,200)
turtle.pensize(1)
turtle.pencolor('black')
turtle.speed(0)

#绘制钟表,半径150
for i in range(60):
    if i%5==0: 
        turtle.pensize(5)
        turtle.right(90)
        turtle.fd(15)
        turtle.pu()
        turtle.left(180)
        turtle.fd(15)
        turtle.right(90)
        turtle.pd()
    turtle.pu()
    turtle.circle(150,6)
    turtle.pd()
    turtle.dot(5,'black')

#绘制指针
turtle.pensize(4)
turtle.pu()
turtle.left(90)
turtle.fd(150)
turtle.left(85)
turtle.pd()
turtle.fd(125)#分针
turtle.fd(-130)
turtle.fd(5)
turtle.left(12)
turtle.fd(115)#时针
turtle.fd(-120)
turtle.fd(5)
turtle.right(120)
turtle.fd(130)#秒针
turtle.fd(-135)

#回到原点,并找一个合适的位置放数字
turtle.pu()
turtle.home()
turtle.fd(-75)
turtle.left(90)
turtle.fd(75)
turtle.right(90)
turtle.pd()

#绘制数字

def drawdistence():
    turtle.pu()
    turtle.fd(1)

def drawLine1(draw):
    if draw:
        turtle.pd()
    else:
        turtle.pu()
    turtle.left(180)
    turtle.fd(5)
    drawdistence()
    turtle.right(90)
   
def drawLine2(draw):
    if(draw):
        turtle.pd()
    else:
        turtle.pu()
    turtle.fd(5)
    drawdistence()
    turtle.right(90)
    
 
def drawLine3(draw):
    if draw:
        turtle.pd()
    else:
        turtle.pu()
    turtle.fd(5)
    drawdistence()
  
def drawDigit(digit):
    turtle.pencolor('black')
    drawLine1(True) if digit in [2,3,4,5,6,8,9] else drawLine1(False)
    drawLine2(True) if digit in [4,5,6,8,9,0] else drawLine2(False)
    drawLine2(True) if digit in [2,3,5,6,7,8,9,0] else drawLine2(False)
    drawLine3(True) if digit in [1,2,3,4,7,8,9,0] else drawLine3(False)
    drawLine2(True) if digit in [1,3,4,5,6,7,8,9,0] else drawLine2(False)
    drawLine2(True) if digit in [2,3,5,6,8,9,0] else drawLine2(False)
    drawLine2(True) if digit in [2,6,8,0] else drawLine2(False)
    
    turtle.pu()
    turtle.fd(20)

#绘制时间
def drawDate(date):
    turtle.pencolor('red')
    for i in date:
        if i =='-':
            turtle.write('年',font=('Arial',10,'normal'))
            turtle.pencolor('green')
            turtle.fd(20)
        elif i =='=':
            turtle.write('月',font=('Arial',10,'normal'))
            turtle.pencolor('blue')
            turtle.fd(20)
        elif i =='+':
            turtle.write('日',font=('Arial',10,'normal'))
            turtle.pencolor('blue')
            turtle.fd(20)
        else:
            drawDigit(eval(i))
        
def main():
 
    turtle.pensize(2)
    turtle.pencolor('blue')
    turtle.speed(0)
    drawDate(time.strftime('%Y-%m=%d+',time.localtime()))
       
main()

#绘制星期,回到原点,找一个合适的位置写星期
turtle.pu()
turtle.home()
turtle.fd(-15)
turtle.left(90)
turtle.fd(200)
turtle.right(90)
turtle.pd()
turtle.pencolor('black')
turtle.write('星期四',align='center',font=('Arial',10,'normal'))
turtle.hideturtle()

turtle.done()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值