python编写时钟代码_python编写时钟代码
# !/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编写时钟代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序设计基础(c语言)(第3版)课后习题
- 下一篇: JAVA-JDK环境变量配置