首页 > 编程语言 >python海龟时钟

python海龟时钟

时间:2024-02-02 18:44:34浏览次数:30  
标签:pensize python ts undo forward 海龟 speed 时钟

运行效果

image

代码

import turtle as t
import time as tm

def DrawDial(): # 绘制表盘
    ts = t.Turtle()
    ts.hideturtle()
    ts.pensize(20)
    ts.speed(0)
    ts.color("cyan","yellow")
    ts.penup()
    ts.goto(0,-200)
    ts.pendown()
    ts.begin_fill()
    ts.circle(200)
    ts.end_fill()
    ts.penup()
    ts.home()
    ts.pensize(5)
    ts.pencolor("blue")
    for i in range(12):
        ts.setheading(i * 30)
        if (i % 3 == 0):
            ts.forward(180)
            ts.pendown()
            ts.forward(20)
            ts.penup()
            ts.home()
        else:
            ts.forward(190)
            ts.pendown()
            ts.forward(10)
            ts.penup()
            ts.home()            
            

t.tracer(0) # 停止自动更新画面
DrawDial()

t_s = t.Turtle() # 定义一个绘制秒针的海龟
t_s.color("red")
t_s.pensize(2)
t_s.speed(0)
t_s.hideturtle()

t_m = t.Turtle() # 定义一个分针的海龟
t_m.color("blue")
t_m.pensize(4)
t_m.speed(0)
t_m.hideturtle()

t_h = t.Turtle() # 定义一个时针的海龟
t_h.color("black")
t_h.pensize(6)
t_h.speed(0)
t_h.hideturtle()

time_zone = 8 # 定义时区,中国是+8

while True:
    # 从1970-01-01 00:00:00 UTC,格林威治时间
    # 开始到现在所经历的时间,以浮点数的'秒'来表示
    # 乘以1000得到毫秒数
    ms = int(tm.time() * 1000)
    # 60000 一分钟的毫秒数
    t_s.setheading(-(ms % 60000) * 360 / 60000 + 90)
    t_s.forward(190)
    t_s.dot(10)
    # 3600000 一小时的毫秒数
    t_m.setheading(-(ms % 3600000) * 360 / 3600000 + 90)
    t_m.forward(170)
    t_m.dot(12)
    # 显示小时的时候 -240度 是因为中国是东8区
    # 43200000 12小时的毫秒数
    t_h.setheading(-(ms % 43200000) * 360 / 43200000 + 90 - time_zone * 30)
    t_h.forward(140)
    t_h.dot(14)
    t.update() # 手动绘制
    tm.sleep(0.001)
    t_s.undo()
    t_s.undo()
    t_m.undo()
    t_m.undo()
    t_h.undo()
    t_h.undo()
    

标签:pensize,python,ts,undo,forward,海龟,speed,时钟
From: https://www.cnblogs.com/AaronMing/p/18003674

相关文章

  • Python学习笔记05
    3.4String(字符串)字符串特点:用单引号'或双引号"括起来,同时使用反斜杠\转义特殊字符。取字符串中的值:语法格式——变量[头下标:尾下标],左闭右开字符串索引值:Coding从前面索引012345从后面索引-6-5-4-3-2-1字符串输出示例代码str='Coding......
  • Python学习笔记04
    3.3运算符(以下假设变量a=10,变量b=21)【算数运算符】:运算符描述实例+加,两个对象相加a+b输出结果31-减,得到负数或是一个数减去另一个数a-b输出结果-11*乘,两个数相乘或是返回一个被重复若干次的字符串a*b输出结果210/除,x除......
  • Python学习笔记02
    二、基础语法2.1注释单行注释:#多行注释:'''或"""示例输入:#第一个注释#第二个注释'''第三注释第四注释'''"""第五注释第六注释"""print("Hello,World!")输出:Hello,World!2.2行与缩进pyt......
  • Python学习笔记03
    3.2Number(数字)三种数值类型实例:整型(int)浮点型(float)复数(complex)100.03+4j10015.2045.j-786-21.93e+26J080-90.4.53e-7j-049032.3e+183.14j-0x26070.2E-12a+bj↑0x表示16进制↑e和E为科学计数法↑a,b均为浮点型数字类型转......
  • python之通过学校创建课程、班级、老师
    这是一个简单的类练习题: 一、分析:1.新增:1.新增学校:属性有学校编号,学校名称,学校地址2.新增课程:属性有课程编号,课程名称,课程周期,课程价格要求:通过学校创建课程3.创建班级:班级属性:班级编号,班级名称要求:需要关联课程,讲师4.创建学员:属性:学员编号,学员名称,学员年龄要求:关联学校,关联班......
  • 桌面应用开发GTK3 Glade (Python)
    目录Github官方文档简介环境配置注意版本gtk4版本Demo.pydemo.gladegtk+3版本demo.pyGithubhttps://github.com/GNOME/pygobjecthttps://gitlab.gnome.org/GNOME/pygobject官方文档https://pygobject.readthedocs.io/en/latest/简介PyGObject是一个用于将GTK+和其......
  • Python Web 项目部署
    记录下一般的Pythonweb项目开发后如何部署到外部服务器上,供用户访问。1简要本质三件事:租个服务器(含公网ip)+配置环境电脑+公网IP自己电脑+拉专线代码放在服务器程序运行起来2搞一台云服务器租一个linux系统的云服务器,并获得一个公网IP,例如直接购买云服务......
  • Python数据类型——数字、布尔、空类型
    一、数字类型整型int:就是整数,既是整型的代表,又是定义整型的内置函数定义一个整型,并不一定非要使用int浮点类型float:凡是带有小数点的类型,都可以认为是浮点类型。既是浮点型的代表,又是定义浮点型的内置函数定义一个浮点型,并不一定非要使用float内置函数type:返回变量的类型,告诉我......
  • 一、Python概述
    一、python脚本的结构1-1python头部注释头注释:为解释器定制的规则。头注释作用:被系统或者解释器所用,如:告诉系统python解释器在那个位置、脚本编码格式是什么。头注释结构:#注释内容常见的头注释:#coding:utf-8:定义coding,告诉系统脚本是何编码格式。#!/usr/bin/env:定义#......
  • 理论与实战:一篇看懂Python词云
    理论与实战:一篇看懂Python词云后宫王镇贴前言:本文初编辑于2024年2月2日该项目代码的仓库地址:https://github.com/A-Piece-Of-Maple/WordCloudCSDN:https://blog.csdn.net/rvdgdsva博客园:https://www.cnblogs.com/hassle总结截至2024.2.2,想要学习词云,能够找到的文章大部......