Python 七段數(shù)碼管繪制

數(shù)碼管是一種半導體發(fā)光器件关拒,數(shù)碼管可分為七段數(shù)碼管和八段數(shù)碼管,區(qū)別在于八段數(shù)碼管比七段數(shù)碼管多一個用于顯示小數(shù)點的發(fā)光二極管單元DP(decimal point)侦厚。它價格便宜耗帕、使用簡單佣赖,通過對其不同的管腳輸入相對的電流,使其發(fā)亮表伦,從而顯示出數(shù)字能夠顯示 時間谦去、日期、溫度等所有可用數(shù)字表示的參數(shù)的器件蹦哼。在電器特別是家電領域應用極為廣泛鳄哭,如顯示屏、空調(diào)纲熏、熱水器妆丘、冰箱等等锄俄。
本案例使用turtle庫實現(xiàn),首先了解下turtle的使用方法

turtle的空間體系

1勺拣,絕對坐標體系奶赠,中心是(0,0)就是我們初中就開始學的絕對坐標體系
2,相對坐標體系药有,turtle是海龜毅戈,頭部朝向左側(cè)為正,右側(cè)朝向為負的一個體系

turtle的顏色控制體系

1愤惰,可以用一些默認的顏色來控制
2苇经,可以用最大值255或者最大值為1來控制,切換方式為turtle.colormode(255)或者turtle.colormode(1)來控制

turtle的運動控制函數(shù)

1宦言,turtle.fd(d)走直線塑陵,行進距離是d
2,turtle.circle(r,angle) 繪制一個圖形蜡励,r是半徑令花,angle是弧形的角度,如果r是正數(shù)凉倚,則表示圓心在tutle的左側(cè)兼都,如果r是負數(shù),則表示圓心在turtle的右側(cè)
3稽寒,turtle.speed(x) x的取值從0到10扮碧,越大速度越快
4,turtle.goto(x,y)可以把畫筆直接移動到絕對坐標體系的某一個點

turtle的運動方向控制函數(shù)

1杏糙,seth(angle) 將turtle當前的方向設置為絕對坐標下的angle角度
2慎王,left(angle) 將turtle朝向設置為海龜當前朝向左側(cè)的angle
2,right(angle) 將turtle朝向設置為海龜當前朝向右側(cè)的angle

turtle的流程控制

1宏侍,turtle畫筆默認首先在中心的位置赖淤。并且畫筆是放下狀態(tài)
2,turtle.penup() 抬起畫筆
3谅河,turtle.pendown() 放下畫筆
4咱旱,turtle.pensize() 設置畫筆的粗細
5,turtle.pencolor() 設置畫筆的顏色
6绷耍,turtle.done()表示狀態(tài)誓焦,運行完之后不會退出安岂,需要手動退出摸屠,如果不加入的話跪帝,turtle畫布會自動退出
7,turtle.write(c,font=(“Arial”,18,”normal”))來寫文字c崎苗,包括漢字
8狐粱,turtle.hideturtle()函數(shù)可以隱藏turtle的的畫筆

代碼實現(xiàn)
import turtle,time

def drawGap():
    turtle.penup()
    turtle.fd(5)

def drawLine(draw):
    drawGap()
    turtle.pendown() if draw else turtle.penup()
    turtle.fd(40)
    drawGap()
    turtle.right(90)

def drawDigit(digit):
    drawLine(True) if digit in [2,3,4,5,6,8,9] else drawLine(False)
    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)
    turtle.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)
    turtle.left(180)
    turtle.penup()
    turtle.fd(20)


def drawDate(date):
    turtle.pencolor('red')
    for i in date:
        if i == '-':
            turtle.write('年',font=('Arial',18,'normal'))
            turtle.pencolor('green')
            turtle.fd(40)
        elif i == '=':
            turtle.write('月',font=('Arial',18,'normal'))
            turtle.pencolor('blue')
            turtle.fd(40)
        elif i == '+':
            turtle.write('日',font=('Arial',18,'normal'))
        else:
            drawDigit(eval(i))

def main():
    turtle.setup(800,350,200,200)
    turtle.speed(10) # 設置畫筆移動速度赘阀,畫筆繪制的速度范圍[0,10]整數(shù),數(shù)字越大越快脑奠。
    turtle.pensize(5)
    turtle.penup()
    turtle.fd(-300)
    drawDate(time.strftime('%Y-%m=%d+', time.gmtime()))
    turtle.hideturtle() # 隱藏畫筆的turtle形狀
    turtle.done()

if __name__ == '__main__':
    main()
效果圖
七段數(shù)碼管

參考:中國大學MOOC網(wǎng) 《Python語言程序設計》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末基公,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子宋欺,更是在濱河造成了極大的恐慌轰豆,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件齿诞,死亡現(xiàn)場離奇詭異酸休,居然都是意外死亡,警方通過查閱死者的電腦和手機祷杈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門斑司,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人但汞,你說我怎么就攤上這事宿刮。” “怎么了私蕾?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵僵缺,是天一觀的道長。 經(jīng)常有香客問我踩叭,道長磕潮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任容贝,我火速辦了婚禮自脯,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘斤富。我一直安慰自己膏潮,他們只是感情好,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布茂缚。 她就那樣靜靜地躺著戏罢,像睡著了一般屋谭。 火紅的嫁衣襯著肌膚如雪脚囊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天桐磁,我揣著相機與錄音悔耘,去河邊找鬼。 笑死我擂,一個胖子當著我的面吹牛衬以,可吹牛的內(nèi)容都是我干的缓艳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼看峻,長吁一口氣:“原來是場噩夢啊……” “哼阶淘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起互妓,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤溪窒,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后冯勉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澈蚌,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年灼狰,在試婚紗的時候發(fā)現(xiàn)自己被綠了宛瞄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡交胚,死狀恐怖份汗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蝴簇,我是刑警寧澤裸影,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站军熏,受9級特大地震影響轩猩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜荡澎,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一均践、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧摩幔,春花似錦彤委、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至封断,卻和暖如春斯辰,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背坡疼。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工彬呻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓闸氮,卻偏偏與公主長得像剪况,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蒲跨,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355