# !/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 hand

def 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.000001

minute = t.minute + second / 60

hour = t.hour + minute / 60

turtle.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, bob

second_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()

python编写时钟代码_python编写时钟代码相关推荐

  1. python抽奖代码_python编写实现抽奖器代码示例

    本篇文章小编给大家分享一下python编写实现抽奖器代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. # coding=utf-8 import ...

  2. python编写木马攻击_Python编写简易木马程序

    Python编写简易木马程序 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马.依然选用Sublime text2 + ...

  3. python注销代码_python怎么注销代码_如何从一个简单的web应用程序注销。在CherryPy,Python中...

    我不熟悉CherryPy和Python,但我需要编写一个非常简单的web应用程序来执行login---&gt:do some commands---&gt:logout.对于登录,我使 ...

  4. python如何实现隔行_Python编写循环的两个建议 | 鹅厂实战

    作者 | piglei(腾讯高级工程师) 转载自腾讯技术工程知乎专栏 循环是一种常用的程序控制结构.我们常说,机器相比人类的最大优点之一,就是机器可以不眠不休的重复做某件事情,但人却不行.而" ...

  5. python画魔法阵_Python编写循环的两个建议 | 鹅厂实战!

    本文系 "Python 工匠"系列的第 7 篇文章,已取得作者授权. 循环是一种常用的程序控制结构.我们常说,机器相比人类的最大优点之一,就是机器可以不眠不休的重复做某件事情,但人 ...

  6. python猜数字代码_python猜数代码

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文实例为大家分享了python实现猜数游戏的具体代码,供大家参考,具体内容如下 ...

  7. 用python做一个木马_Python编写简易木马程序

    light · 2015/01/26 10:07 0x00 准备 文章内容仅供学习研究.切勿用于非法用途! 这次我们使用Python编写一个具有键盘记录.截屏以及通信功能的简易木马.依然选用Subli ...

  8. python画花朵代码_python画花朵代码分享

    python画花朵代码分享 发布时间:2020-05-09 15:36:11 来源:亿速云 阅读:295 作者:小新 这篇文章主要为大家详细介绍了python画花朵代码,文中示例代码介绍的非常详细,具 ...

  9. pythonc代码_Python实现C代码统计工具(一)

    Python实现C代码统计工具(一) 标签: Python 代码统计 声明 本文将基于Python2.7脚本语言,实现一个简易的C代码统计工具. 本文同时也发布于作业部落,视觉效果略有不同. 一. 问 ...

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

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

最新文章

  1. 博弈论速成指南:那些融入深度学习的经典想法和新思路
  2. Microbiome:马铃薯疮痂病与土壤微生物组关系新进展
  3. Android---Activity 生命周期(三)Stopping Activity Restarting Activity
  4. 新手实用的电脑维护小常识
  5. (转)让思维活跃化的几个技巧
  6. 诗歌rails之获取本地ip地址
  7. Java 集合HashSet TreeSet HashMap ArrayList TreeList
  8. c语言什么类型的编程,编程有哪些数据类型?
  9. 罗技鼠标G304驱动与讲解(其余类型驱动见文末)
  10. 【今晚群分享预告】 58集团监控系统实践
  11. 如何把图片的文字转换成word
  12. jQuery教程(整理自W3CSchool)(第一部分)
  13. DeepFlow Large displacement optical flow with deep matching
  14. Fiddler+雷电模拟器APP抓包
  15. 常用手机尺寸以及分辨率
  16. 花之语第七期:栀子花
  17. 搭建web服务端网络共享及实时备份(只能用堡垒机连接)
  18. linux 检测u盘 好坏,u盘质量检测最佳方法,u盘质量好坏检测方法
  19. html表格中字与字间距如何调整,excel表格字间距怎么调
  20. [解锁新姿势] 兄dei,你代码需要优化了

热门文章

  1. KL距离(衡量两个概率分布的差异情况)
  2. 软件工程 第4版张海藩 pdf_2019年第4期软件工程造价师培训课程圆满结束
  3. 电子电工产品成品及材料灼热丝测试用试验仪
  4. 我自己的 psftp-cmd
  5. 前后端数据交互(七)——前端跨域解决方案(全)
  6. 转:基于Spark的电影推荐系统(包含爬虫项目、web网站、后台管理系统以及spark推荐系统)
  7. linux eclipse 字体,linux下eclipse字体的调整
  8. mysql置疑原因_SQL Server置疑数据库解决方法
  9. 常用正则表达式,持续更新
  10. Linux内核编程四部曲