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

溫馨提示×

溫馨提示×

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

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

Python實現時鐘顯示效果思路詳解

發布時間:2020-09-14 15:56:57 來源:腳本之家 閱讀:226 作者:我要鹿鹿鹿 欄目:開發技術

語言:Python

IDE:Python.IDE

1.編寫時鐘程序,要求根據時間動態更新

Python實現時鐘顯示效果思路詳解

2.代碼思路

需求:5個Turtle對象, 1個繪制外表盤+3個模擬表上針+1個輸出文字
Step1:建立Turtle對象并初始化
Step2:靜態表盤繪制
Step3:根據時鐘更新表針位置與時間信息

基本庫:Turtle、datetime

3.代碼段

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()
  #注冊Turtle形狀命令register_shape(name,shape=None)
  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 + minute/60.0
  secHand.setheading(6*second)
  minHand.setheading(6*minute)
  hurHand.setheading(30*hour)
   #介入Tracer函數以控制刷新速度
  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()
if __name__ == "__main__":    
  main()

補充:

Python實現時鐘

1.小時鐘獲取當前時間并用打印在Console上

2.上代碼

 import time,sys,os
 while(1):
   t = time.strftime('%H:%M:%S',time.localtime(time.time()))
   sys.stdout.write(t+'\b'*10)
   sys.stdout.flush()
   time.sleep(0.1)
   os.system('cls')

3.解釋

第一步:導入time,sys,os模塊

第二部:實現無限循環

第三步:實現格式化輸出,具體的詳細使用方法,參見:這里

第四部:重定向到Console上

第五步:刷新

第六步:間隔0.1執行一次

第七步:清屏

向AI問一下細節

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

AI

荆门市| 龙州县| 潞西市| 桑植县| 兴业县| 吴江市| 芒康县| 上林县| 余姚市| 丽江市| 静海县| 精河县| 酒泉市| 英超| 增城市| 山丹县| 寻甸| 台安县| 凤台县| 婺源县| 梓潼县| 理塘县| 万山特区| 独山县| 长寿区| 延津县| 齐河县| 芜湖县| 同江市| 庆安县| 如东县| 翼城县| 桃园县| 信宜市| 莫力| 蒙山县| 彭水| 贵溪市| 油尖旺区| 虞城县| 灵山县|