欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python使用Turtle庫繪制動態(tài)鐘表

 更新時間:2018年11月19日 09:53:15   作者:i_chaoren  
這篇文章主要為大家詳細介紹了python使用Turtle庫繪制動態(tài)鐘表,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Python函數(shù)庫眾多,而且在不斷更新,所以學(xué)習(xí)這些函數(shù)庫最有效的方法,就是閱讀Python官方文檔。同時借助Google和百度。

本文介紹的turtle庫對應(yīng)的官方文檔地址

繪制動態(tài)鐘表的基本思路如下(面向?qū)ο蟮木幊蹋?/p>

使用5個turtle對象

1個turtle:繪制外表盤

3個turtle:模擬表針行為

1個turtle:輸出表盤上文字

根據(jù)實時時間使用ontimer()函數(shù)更新表盤畫面,顯示效果如下:

相關(guān)函數(shù)的使用在程序中進行了詳細的注釋,代碼如下:

from turtle import *
from datetime import *
 
def Skip(step):
 penup()
 forward(step)
 pendown()
 
def mkHand(name, length):
 #注冊Turtle形狀,建立表針Turtle
 reset() #清空當(dāng)前窗口,并重置位置等信息為默認值
 Skip(-length*0.1)
 begin_poly()
 forward(length*1.1)
 end_poly()
 handForm = get_poly()
 register_shape(name, handForm) 
 
def Init():
 global secHand, minHand, hurHand, printer
 mode("logo")# 重置Turtle指向北
 #建立三個表針Turtle并初始化
 mkHand("secHand", 135)
 mkHand("minHand", 110)
 mkHand("hurHand", 90)
 secHand = Turtle()
 secHand.shape("secHand")
 minHand = Turtle()
 minHand.shape("minHand")
 hurHand = Turtle()
 hurHand.shape("hurHand")
 for hand in secHand, minHand, hurHand:
  hand.shapesize(1, 1, 3)
  hand.speed(0)
 #建立輸出文字Turtle
 printer = Turtle()
 printer.hideturtle()
 printer.penup()
  
def SetupClock(radius):
 #建立表的外框
 reset()
 pensize(7)
 for i in range(60):
  Skip(radius)
  if i % 5 == 0:
   forward(20)
   Skip(-radius-20)
  else:
   dot(5)
   Skip(-radius)
  right(6)
   
def Week(t): 
 week = ["星期一", "星期二", "星期三",
   "星期四", "星期五", "星期六", "星期日"]
 return week[t.weekday()]
 
def Date(t):
 y = t.year
 m = t.month
 d = t.day
 return "%s %d %d" % (y, m, d)
 
def Tick():
 #繪制表針的動態(tài)顯示
 t = datetime.today()
 second = t.second + t.microsecond*0.000001
 minute = t.minute + second/60.0
 hour = t.hour + minute/60.0
 secHand.setheading(6*second) #設(shè)置朝向,每秒轉(zhuǎn)動6度
 minHand.setheading(6*minute)
 hurHand.setheading(30*hour)
  
 tracer(False) #不顯示繪制的過程,直接顯示繪制結(jié)果
 printer.forward(65)
 printer.write(Week(t), align="center",
     font=("Courier", 14, "bold"))
 printer.back(130)
 printer.write(Date(t), align="center",
     font=("Courier", 14, "bold"))
 printer.back(50)
 printer.write("i_chaoren", align="center",
     font=("Courier", 14, "bold"))
 printer.home()
 tracer(True)
 
 ontimer(Tick, 1000)#1000ms后繼續(xù)調(diào)用tick
 
def main():
 tracer(False) #使多個繪制對象同時顯示
 Init()
 SetupClock(160)
 tracer(True)
 Tick()
 mainloop()
 
if __name__ == "__main__":  
 main()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python實現(xiàn)在圖像中隱藏二維碼的方法詳解

    Python實現(xiàn)在圖像中隱藏二維碼的方法詳解

    隱寫是一種類似于加密卻又不同于加密的技術(shù)。這篇文章主要介紹了如何利用Python語言實現(xiàn)在圖像中隱藏二維碼功能,感興趣的可以了解一下
    2022-09-09
  • Spyder中如何設(shè)置默認python解釋器

    Spyder中如何設(shè)置默認python解釋器

    Spyder作為一款流行的Python IDE,支持用戶自定義Python解釋器,包括虛擬環(huán)境的設(shè)置,通過打開Spyder,選擇“Tools”->“Preferences”,在彈出窗口中選擇“Use the following Python interpreter”后,瀏覽并選擇相應(yīng)的解釋器或虛擬環(huán)境路徑
    2024-09-09
  • Python numpy生成矩陣、串聯(lián)矩陣代碼分享

    Python numpy生成矩陣、串聯(lián)矩陣代碼分享

    這篇文章主要介紹了Python numpy生成矩陣、串聯(lián)矩陣代碼分享,具有一定參考價值,需要的朋友可以了解下。
    2017-12-12
  • Python向MySQL批量插數(shù)據(jù)的實例講解

    Python向MySQL批量插數(shù)據(jù)的實例講解

    下面小編就為大家分享一篇Python向MySQL批量插數(shù)據(jù)的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • python 讀取串口數(shù)據(jù)的示例

    python 讀取串口數(shù)據(jù)的示例

    這篇文章主要介紹了python 讀取串口數(shù)據(jù)的示例,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • 很酷的python表白工具 你喜歡我嗎

    很酷的python表白工具 你喜歡我嗎

    這篇文章主要為大家分享了一款很酷的python表白工具,可以發(fā)給女生表白用,界面簡單,實用性強,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 回調(diào)函數(shù)的意義以及python實現(xiàn)實例

    回調(diào)函數(shù)的意義以及python實現(xiàn)實例

    本篇文章主要介紹了回調(diào)函數(shù)的意義以及python實現(xiàn)實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Tensor 和 NumPy 相互轉(zhuǎn)換的實現(xiàn)

    Tensor 和 NumPy 相互轉(zhuǎn)換的實現(xiàn)

    本文主要介紹了Tensor 和 NumPy 相互轉(zhuǎn)換的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 如何在Python3中使用telnetlib模塊連接網(wǎng)絡(luò)設(shè)備

    如何在Python3中使用telnetlib模塊連接網(wǎng)絡(luò)設(shè)備

    這篇文章主要介紹了如何在Python3中使用telnetlib模塊連接網(wǎng)絡(luò)設(shè)備,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • 淺析Python 抽象工廠模式的優(yōu)缺點

    淺析Python 抽象工廠模式的優(yōu)缺點

    這篇文章主要介紹了Python 抽象工廠模式的優(yōu)缺點,文中示例代碼非常詳細,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07

最新評論