青少年程式設計 Python之時鐘思考第六幕

2021-09-24 16:21:27 字數 1537 閱讀 4588

結合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教育行業未來將突破千億級的市場規模。於無人機來說,最重要的是它的四個軸,也就是能提供在空中平衡的螺旋槳。每個...

青少年學習程式設計的好處

程式設計?編的是什麼?我可以很負責任的告訴大家,編的是青少兒在學習和生活中遇到的所有問題的處理方法。從青少兒編寫的程式中,可以看出乙個孩子對所遇到問題的思考方式和解決辦法。同時,程式設計可以改善青少兒的思考方式和提高青少兒解決問題的能力。所有人的一生無非就一件事 解決問題。問題是永遠存在且不斷變化的...