91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python使用turtle庫繪制時鐘

發布時間:2020-09-28 12:53:30 來源:腳本之家 閱讀:330 作者:蠡1204 欄目:開發技術

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

本文介紹的turtle庫對應的官方文檔地址

繪制動態鐘表的基本思路如下(面向對象的編程):

使用5個turtle對象
1個turtle:繪制外表盤
3個turtle:模擬表針行為
1個turtle:輸出表盤上文字

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

相關函數的使用在程序中進行了詳細的注釋,代碼如下:

# -*- coding: utf-8 -*-
"""
Created on Fri Jan 12 10:43:55 2018

@author: Administrator
"""

from turtle import *
from datetime import *

def skip(step):
 penup()
 forward(step)
 pendown()

def mkhand(name,length):
 #注冊turtle形狀,建立表針turtle
 reset()
 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",125)
 mkhand("minhand",130)
 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=datetime.today()
 second=t.second+t.microsecond*0.000001
 minute=t.minute+second/60.0
 hour=t.hour+second/60.0
 sechand.setheading(6*second)
 minhand.setheading(6*minute)
 hurhand.setheading(30*hour)
 tracer(False)
 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.home()
 tracer(True)
 ontimer(tick,100)#100ms后繼續調用tick

def main():
 tracer(False)
 init()
 setupclock(160)
 tracer(True)
 tick()
 mainloop()
main()

運行結果

python使用turtle庫繪制時鐘

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蓬溪县| 岫岩| 金沙县| 乌拉特中旗| 平顺县| 石嘴山市| 左贡县| 韶关市| 马山县| 永清县| 琼结县| 乌鲁木齐市| 揭阳市| 柯坪县| 商都县| 商河县| 嘉黎县| 公主岭市| 古蔺县| 巴塘县| 临夏市| 巴马| 大城县| 延川县| 马龙县| 景宁| 城口县| 中山市| 姜堰市| 承德县| 滦南县| 开远市| 万载县| 霍邱县| 红桥区| 镇康县| 阿荣旗| 松阳县| 榆林市| 长白| 旅游|