python實(shí)現(xiàn)七段數(shù)碼管和倒計時效果
8是典型的七段數(shù)碼管的例子,因?yàn)閯偤闷叨味加薪?jīng)過,這里我寫的代碼是從1開始右轉(zhuǎn)。
這是看Mooc視頻寫的一個關(guān)于用七段數(shù)碼管顯示當(dāng)前時間
# -*-coding:utf-8 -*- import turtle as t import time def drawGap(): t.penup() t.fd(5) def drawLine(draw): drawGap() t.pendown() if draw else t.penup() t.fd(40) t.right(90) def drawDigit(digit): drawLine(True) if digit in [2, 3, 4, 5, 6, 8, 9] else drawLine(False) #當(dāng)digit是2, 3, 4, 5, 6, 8, 9時執(zhí)行 drawLine(True) if digit in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False) drawLine(True) if digit in [0, 2, 3, 5, 6, 8, 9] else drawLine(False) drawLine(True) if digit in [0, 2, 6, 8] else drawLine(False) t.left(90) drawLine(True) if digit in [0, 4, 5, 6, 8, 9] else drawLine(False) drawLine(True) if digit in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False) drawLine(True) if digit in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False) t.left(180) t.penup() t.fd(20) def drawDate(date): for i in date: if i=='-': t.write('年',font=("Arial",18,"normal")) t.pencolor("green") t.fd(40) elif i=='=': t.write('月', font=("Arial", 18, "normal")) t.pencolor("green") t.fd(40) elif i=='+': t.write('日', font=("Arial", 18, "normal")) t.pencolor("green") t.fd(40) else: drawDigit(eval(i)) # drawDigit(eval(date)) if __name__ == '__main__': t.setup(800,350,200,200) t.penup() t.fd(-300) t.pensize(5) drawDate(time.strftime('%Y-%m=%d+',time.gmtime())) #strftime() 函數(shù)接收以時間元組,并返回以可讀字符串表示的當(dāng)?shù)貢r間 # drawDate('6') t.hideturtle() t.done()
除外倒計時用七段數(shù)碼管顯示
在下面的代碼中的datetime庫對我這個新手去計算時間差來說是很方便的,另外我還學(xué)會了簡寫條件語句
<表達(dá)示> if <條件> else <表達(dá)示>
# -*-coding:utf-8 -*- import turtle as t import time import datetime def draw_Line(draw): t.pendown() if draw else t.penup() #pendown 落下畫筆 penup單純飛過去沒有落筆 t.fd(40) t.right(90) def draw_Digit(digit): t.write('剩余時間:', font=("Arial", 18, "normal")) t.pencolor("green") t.fd(160) i = 0 while i < len(digit): if digit[i] >= '0' and digit[i] <= '9': draw_Line(True) if eval(digit[i]) in [2, 3, 4, 5, 6, 8, 9] else draw_Line(False) draw_Line(True) if eval(digit[i]) in [1, 3,4, 5, 6,7, 8, 9, 0] else draw_Line(False) draw_Line(True) if eval(digit[i]) in [2, 3, 5, 6, 8, 9, 0] else draw_Line(False) draw_Line(True) if eval(digit[i]) in [2, 6, 8, 0] else draw_Line(False) t.left(90) draw_Line(True) if eval(digit[i]) in [4, 5, 6, 8, 9, 0] else draw_Line(False) draw_Line(True) if eval(digit[i]) in [2, 3, 5, 6,7, 8, 9, 0] else draw_Line(False) draw_Line(True) if eval(digit[i]) in [1,2, 3, 4, 7, 8, 9, 0] else draw_Line(False) t.left(180) t.penup() t.fd(20) else: break i = i + 1 if __name__ == '__main__': t.setup(650,350,200,200) t.penup() t.fd(-300) t.pensize(4) remain = datetime.datetime(2019, 2, 4) - datetime.datetime.now() s=str(remain) draw_Digit(s) t.hideturtle() t.done()
看到很多優(yōu)秀的人,他們的努力,成就,天賦和幸運(yùn),都是我所不能及的,但若心向往,每天再努力一點(diǎn)點(diǎn),即使最后沒有向他們那樣,也會使我不那么平庸。加油?。?!
以上這篇python實(shí)現(xiàn)七段數(shù)碼管和倒計時效果就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python使用fcntl模塊實(shí)現(xiàn)程序加鎖功能示例
這篇文章主要介紹了python使用fcntl模塊實(shí)現(xiàn)程序加鎖功能,較為詳細(xì)的分析了fcntl模塊的具體功能并結(jié)合實(shí)例形式給出了Python實(shí)現(xiàn)程序加鎖的操作技巧,需要的朋友可以參考下2017-06-06解決python中遇到字典里key值為None的情況,取不出來的問題
今天小編就為大家分享一篇解決python中遇到字典里key值為None的情況,取不出來的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python利用keras接口實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)回歸
這篇文章主要為大家詳細(xì)介紹了基于Python語言中TensorFlow的Keras接口,實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)回歸的方法。文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-02-02selenium查找網(wǎng)頁出現(xiàn)加載卡頓或失敗的解決方法
這篇文章主要為大家詳細(xì)介紹了selenium查找網(wǎng)頁時如何處理網(wǎng)站資源一直加載非??D或者失敗的情況,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-10-10python生成以及打開json、csv和txt文件的實(shí)例
今天小編就為大家分享一篇python生成以及打開json、csv和txt文件的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11python實(shí)現(xiàn)俄羅斯方塊游戲(改進(jìn)版)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)俄羅斯方塊游戲的改進(jìn)版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03python2和python3實(shí)現(xiàn)在圖片上加漢字的方法
python2和python3實(shí)現(xiàn)在圖片上加漢字,最主要的區(qū)別還是內(nèi)部編碼方式不一樣導(dǎo)致的,在代碼上表現(xiàn)為些許的差別。這篇文章主要介紹了python2和python3實(shí)現(xiàn)在圖片上加漢字,需要的朋友可以參考下2019-08-08