一個玩得好的朋友突然大晚上的給我布置作業,嚇得我精神抖擻,他的原話是:

感覺發現新大陸了,利用小海龜畫的,上次玩海龜已經是幾個月之前的事情了
https://blog.csdn.net/hanhanwanghaha/article/details/106211876
話不多說,上代碼!

動態時鐘
from turtle import *
from datetime import *
# 移動到指定位置
def skip(step):
penup()
forward(step)
pendown()
# 畫指標
def drawpointer(name, length):
reset()
skip(-length * 0.1)
begin_poly()
forward(length * 1.1)
end_poly()
handForm = get_poly()
register_shape(name, handForm)
# 初始化
def init():
global hrpointer, minpointer, secpointer, weektext
# 設定turtle Logo模式,朝北
mode("logo")
drawpointer("hrpointer", 90)
drawpointer("minpointer", 130)
drawpointer("secpointer", 140)
hrpointer = Turtle()
hrpointer.shape("hrpointer")
minpointer = Turtle()
minpointer.shape("minpointer")
secpointer = Turtle()
secpointer.shape("secpointer")
secpointer.pencolor("red")
for pointer in hrpointer, minpointer, secpointer:
pointer.shapesize(3, 1, 1)
pointer.speed(0)
# 文字輸出
weektext = Turtle()
weektext.hideturtle()
weektext.penup()
# 設定表盤形狀
def setupClock(radius):
#繪制表的外框
reset()
# clockPanel = Turtle()
pensize(7)
pencolor("blue")
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.0000001
minute = t.minute + second / 60.0
hour = t.hour + minute / 60.0
secpointer.setheading(6 * second)
minpointer.setheading(6 * minute)
hrpointer.setheading(30 * hour)
tracer(False)
weektext.forward(65)
weektext.write(Week(t), align="center", font=("Courier", 14, "bold"))
weektext.back(130)
weektext.write(Date(t), align="center", font=("Courier", 14, "bold"))
weektext.home()
tracer(True)
# 間隔100ms呼叫一次
ontimer(tick, 100)
def main():
#打開/關閉海龜畫,并為更新圖紙設定延遲
tracer(False)
init()
setupClock(160)
tracer(True)
tick()
mainloop()
if __name__ == '__main__':
main()
代碼借鑒(部分添加修改):https://www.jb51.net/article/151049.htm

算出某月星期幾的所有日期
from datetime import date, timedelta, datetime
import calendar
# 輸入想要獲取的年月份
cal = calendar.month(2020, 9)
print(cal)
m = datetime.now().month
y = datetime.now().year
ndays = (date(y, m + 1, 1) - date(y, m, 1)).days
day_one = date(y, m, 1)
last_day = date(y, m, ndays)
delta = last_day - day_one
data_list = []
for i in range(delta.days + 1):
p = (day_one + timedelta(days=i)).strftime('%Y-%m-%d')
pp = datetime.strptime(str(p), '%Y-%m-%d')
one = pp.isoweekday()
print(type(one), one)
if one == 1: #此處的1為星期一
d2 = pp.strftime('%Y-%m-%d')
data_list.append(d2)
print("2020年9月份所有的星期一的日期為", data_list)
#實時獲取當前時間 轉換為str字串
now = datetime.now()
print('當前時間為 :', now)
運行結果

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/1526.html
標籤:其他
上一篇:05-Python—串列、元祖、字典、集合操作大全:建議收藏
下一篇:python-酷我音樂(爬蟲)
