結合time庫和turtle庫做乙個時鐘怎麼樣呢?從網路上的**獲取以後進行分析學習,希望可以對你有用?
先上圖看看效果:
此程式**在網路可以查到,作者僅拿出對自己很有益處學習的地方摘錄進行分析...
import turtle
from datetime import *
import time
turtle.penup()
turtle.forward(step)
turtle.pendown()
week_day_dict =
today = int(time.strftime("%w"))
return week_day_dict[today]
printer.forward(65)#畫筆方向為正北,從原點向上開始畫
printer.write(get_week_day(), align="center", font=("courier", 14, "bold"))
printer.backward(130)
printer.write((str(t.year) + "-" + str(t.month) + "-" + str(t.day)), align="center", font=("courier", 14, "bold"))
sechand.setheading(6 * second)#設定當前朝向為6*second角度
minhand.setheading(6 * minute)
hurhand.setheading(30 * hour)
turtle.ontimer(tick, 100) # 100ms後繼續呼叫tick
這**其實解釋的已經很多了,但是還是有幾個地方非常不錯,值得分享:
1、繪製表盤外框時,如何實現按照乙個固定的角度進行繪製呢?
原來每次繪製前都倒回去原點,操作完也要回到原點。
2、整個**的迴圈怎麼體現呢?
這裡面沒有使用while和for迴圈而是使用了turtle自帶的ontimer方法進行迴圈,用的巧妙。
3、對每個時刻的時分秒的指標轉動的角度控制很好?
sechand.setheading(6 * second)
minhand.setheading(6 * minute)
hurhand.setheading(30 * hour)
思考題:
在鐘錶面上寫文字時少了這行**printer.forward(65)文字會寫在**呢?還有沒有其他方法獲取日曆某一天是星期幾呢?
我的前一篇分享內容也不錯哦,也許對你有益:
f2010212900
使用paypal:開啟該**paypal.me/luozixi 隨你便輸入乙個數字,哈哈哈 當然你需要有paypal賬戶。
青少年程式設計競賽彙總
目前國家的政策在向多元化評價方式走,國家可不希望只有數學人才。所以越來越多的地方開始對奧數競賽進行打壓。同時舉辦更多有意思的比賽來逐漸取代奧數的選拔作用。其中兒童程式設計就是大熱!我國也擁有各種各樣的程式設計比賽,以供人才選拔,在義務教育階段最具影響力的 國字型大小比賽 莫過於5個。一 全國青少年探...
青少年趣味程式設計社群
近年來,在政策推動和市場需求增長下,steam教育與科技的結合應用正如火如荼地進行,無論是新型的科技元件 教育機械人或3d列印技術等,格物斯坦表示 無人機同樣也是。根據相關機構 國內steam教育行業未來將突破千億級的市場規模。於無人機來說,最重要的是它的四個軸,也就是能提供在空中平衡的螺旋槳。每個...
青少年學習程式設計的好處
程式設計?編的是什麼?我可以很負責任的告訴大家,編的是青少兒在學習和生活中遇到的所有問題的處理方法。從青少兒編寫的程式中,可以看出乙個孩子對所遇到問題的思考方式和解決辦法。同時,程式設計可以改善青少兒的思考方式和提高青少兒解決問題的能力。所有人的一生無非就一件事 解決問題。問題是永遠存在且不斷變化的...