# !/urs/bin/ python
# _*_ coding: utf-8
# !/usr/bin/env python
# -*- coding:utf-8 -*-
import turtle
import datetime# 移动一段距离
def skip(distance):"""移动乌龟一段距离,不留痕迹:param distance: 像素:return:"""turtle.penup()turtle.forward(distance)turtle.pendown()def draw_clock():# 先画表盘# 先画点# 移动一段距离,画一个点,然后退回# 转动6°,再移动一段距离,画一个点,然后退回# 循环 60次# 让乌龟的方向默认向上turtle.reset()turtle.hideturtle()for i in range(60):skip(160)# 根据 5格一个时钟if i % 5 == 0:turtle.pensize(7)# 画时钟turtle.forward(20)if i == 0:turtle.write(12, align='center', font=('Courier', 14, 'bold'))elif i == 25 or i == 30 or i == 35:skip(25)turtle.write(int(i / 5), align='center', font=('Courier', 14, 'bold'))skip(-25)else:turtle.write(int(i / 5), align='center', font=('Courier', 14, 'bold'))skip(-20)else:turtle.pensize(1)turtle.dot()skip(-160)turtle.right(6)def get_week(t):week = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日']return week[t.weekday()]def create_hand(length, name):turtle.reset()skip(-length * 0.1)turtle.begin_poly()turtle.forward(length * 1.1)turtle.end_poly()# 注册turtle.register_shape(name, turtle.get_poly())hand = turtle.Turtle()hand.shape(name)hand.shapesize(1, 1, 3)return handdef run():# 不停的获取时间t = datetime.datetime.today()bob.forward(65)bob.write(get_week(t), align='center', font=('Courier', 14, 'bold'))bob.back(130)bob.write(t.strftime('%Y-%m-%d'), align='center', font=('Courier', 14, 'bold'))bob.home()# 指针移动second = t.second + t.microsecond * 0.000001minute = t.minute + second / 60hour = t.hour + minute / 60turtle.tracer(True)second_hand.setheading(6 * second)minute_hand.setheading(6 * minute)hour_hand.setheading(30 * hour)turtle.ontimer(run, 200)if __name__ == '__main__':# 画秒针,分针,时针turtle.mode('logo')turtle.hideturtle()global second_hand, minute_hand, hour_hand, bobsecond_hand = create_hand(135, 'second_hand')minute_hand = create_hand(125, 'minute_hand')hour_hand = create_hand(90, 'hour_hand')# 创建一个新的turtle对象,去循环的操作bob = turtle.Turtle()bob.hideturtle()bob.penup()turtle.tracer(False)draw_clock()run()turtle.mainloop()

  

转载于:https://www.cnblogs.com/springcloud/p/8624040.html

python编写时钟代码相关推荐

  1. python编写时钟代码_python Tkinter 编写时钟

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #coding:utf-8 from Tkinter import * from math import * from time import * def ...

  2. python动态时钟代码_Python基础 用Python实现时钟

    语言:Python IDE:Python.IDE编写时钟程序,要求根据时间动态更新代码思路 需求:5个Turtle对象, 1个绘制外表盘+3个模拟表上针+1个输出文字 Step1:建立Turtle对象 ...

  3. python数码时钟代码_Python实现时钟显示效果思路详解

    语言:Python IDE:Python.IDE 1.编写时钟程序,要求根据时间动态更新 2.代码思路 需求:5个Turtle对象, 1个绘制外表盘+3个模拟表上针+1个输出文字 Step1:建立Tu ...

  4. python对电脑最低要求-用Python编写的代码瑕疵程度最低

    很多人感觉用Python编写程序效率高,速度那么愉快,会不会是在牺牲很多代码可读性与完整程度的基础上建立的啊. 根据国外一家开发测试服务的公司Coverity研究的结果,Python代码瑕疵密度是最低 ...

  5. python编写hadoop代码

    这是一个只有mapper的任务代码: 主要有两个文件,一个是shell脚本文件,主要是执行hadoop命令,一个是用python编写的mapper脚本文件 首先看下shell脚本文件, #cat    ...

  6. 使用python编写IRC代码

    IRC是一种网络聊天协议,我们可以使用Python编写IRC客户端或服务器的代码. 如果你想编写一个IRC客户端,你可以使用Python的socket模块来建立和管理TCP连接,使用socket发送和 ...

  7. python动态时钟代码_python实现简易动态时钟

    本文实例为大家分享了python实现简易动态时钟的具体代码,供大家参考,具体内容如下 from turtle import * from datetime import * #移动到指定位置 def ...

  8. python数码时钟代码_Python+Pyqt实现简单GUI电子时钟

    本文实例为大家分享了Python+Pyqt实现简单GUI电子时钟的具体代码,供大家参考,具体内容如下 突发奇想想用GUI做一个简单的电子时钟界面,利用pyqt模块也很方便,代码如下: from PyQ ...

  9. python动态时钟代码_python绘制动态时钟

    桌面时钟项目描述 1.使用turtle库绘制时钟外形及表针: 2.使用datetime获取系统时间: 3.时钟动态显示 turtle库基本命令 1.turtle.setup()函数:用于启动一个图形窗 ...

最新文章

  1. 你好AI丨重读图灵经典之作,九条反驳意见引人深思
  2. linux shell程序代码,linux shell实用程序源代码pidof
  3. 阿里云微服务引擎 MSE 2022 年 3 月产品动态
  4. mysql怎么写Connection_MySQL里面的CONNECTION_ID
  5. python函数知识四 迭代器、生成器
  6. TensorFlow模型持久化
  7. 释放锁以及添加线程对于队列的变化
  8. leetcode 816. Ambiguous Coordinates | 816. 模糊坐标(Java)
  9. 云计算之Docker
  10. html样式超出出现滚动条,CSS 设置的高度超出屏幕高度为什么没出现滚动条?
  11. 《剑指offer》面试题16——反转链表(C++)
  12. Linux中的cp命令老九门
  13. 自动写诗APP项目、基于python+Android实现(技术:LSTM+Fasttext分类+word2vec+Flask+mysql)第四节
  14. 磁盘驱动属于计算机的,计算机基本知识(8005)---HDD(硬盘驱动器Hard Disk Drive)
  15. 激活mircrosoft office2013
  16. 学在信息——初窥门径
  17. 七十七、java版商城之直播短视频带货Spring Cloud+SpringBoot+mybatis+uniapp b2b2c o2o 多商家入驻商城 直播带货商城 电子商务
  18. 大数据平台架构包含哪些功能
  19. 棚卸資産管理の用語一覧(Glossary of inventory control terms and phrases)
  20. 【2】模块参数与模块之间的通信

热门文章

  1. 可以重新缴费参加计算机考试吗,计算机二级考试报考成功后可以退费吗
  2. 【网易笔试】被3整除的个数
  3. P2P(人对人)、O2O(线上到线下)、B2C(企业对消费者)、B2B(企业对企业的电子商务模式)、C2C(消费者对消费者的电子商务模式)、B2B2C(企业对企业对消费者的商业模式)
  4. he系列高端服务器机柜,HE系列九折型材服务器机柜
  5. OpenCV 笛卡尔坐标、极坐标互转
  6. Eclipse 如何使用CVS
  7. B. Balanced Remainders
  8. 蓉乇辟坠吠悠吹爸现镁
  9. 《烟灰缸里的回忆》第一章节
  10. Python 调用终端执行命令(gnome-terminal)