国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python turtle繪圖——七段數(shù)碼管顯示數(shù)字和字母

這篇具有很好參考價值的文章主要介紹了Python turtle繪圖——七段數(shù)碼管顯示數(shù)字和字母。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、運行結(jié)果

python繪制七段數(shù)碼管,# turtle繪圖,python

二、程序設(shè)計

七段數(shù)碼管由7條線組成,以下圖所標識的畫圖順序為準進行程序設(shè)計。

python繪制七段數(shù)碼管,# turtle繪圖,python

?

首先導(dǎo)入turtle庫并將其重命名為t。

import turtle as t

定義函數(shù)drawGap()用于繪制間隙,通過將畫筆抬起,并向前移動5個單位,來實現(xiàn)間隙的繪制。

def drawGap(): # 繪制間隙
    t.penup()
    t.fd(5) # 設(shè)置間隙大小

定義函數(shù)drawLine(draw)用于繪制線段,通過判斷參數(shù)draw的布爾值,決定是否下筆繪制線段。如果布爾值為True,則將畫筆放下,向前移動40個單位;如果布爾值為False,則將畫筆抬起,向前移動40個單位。然后調(diào)用drawGap()函數(shù)繪制間隙,并將畫筆右轉(zhuǎn)90度,準備繪制下一段線。

def drawLine(draw): # 繪制數(shù)碼管中的一段線
     drawGap()
     t.pendown() if draw else t.penup()
     t.fd(40)
     drawGap()
     t.right(90)

之后,我們根據(jù)所要繪制的數(shù)字和字母定義函數(shù)drawDight(s),下圖是數(shù)字和字母的數(shù)碼管顯示圖。

python繪制七段數(shù)碼管,# turtle繪圖,python

?

以1號線段為例,數(shù)字中包含它的有2,3,4,5,6,8,9,字母中包含它的有a,b,d,e,f,h,k,n,o,p,q,s,t,w,x,y,z。

然后定義drawDight(s)函數(shù),根據(jù)字符s繪制七段數(shù)碼管。

根據(jù)不同的字符,調(diào)用drawLine()函數(shù)繪制對應(yīng)的線段。通過判斷字符s的值,決定繪制哪些線段。每繪制完一組線段,將畫筆左轉(zhuǎn)90度,準備繪制下一組線段。

def drawDight(s): # 根據(jù)字符繪制七段數(shù)碼管
     # 繪制1號線段
    drawLine(True) if s in ['2','3','4','5','6','8','9','a','b','d','e','f','h','k','n','o','p','q','s','t','w','x','y','z'] else drawLine(False)
     # 繪制2號線段
    drawLine(True) if s in ['0','1','3','4','5','6','7','8','9','a','b','d','g','h','i','j','k','m','n','o','q','u','v','w','x','y'] else drawLine(False)
     # 繪制3號線段
    drawLine(True) if s in ['0','2','3','5','6','8','9','b','c','d','e','g','i','j','l','o','s','t','u','v','w','y','z'] else drawLine(False)
     # 繪制4號線段
    drawLine(True) if s in ['0','2','6','8','a','b','c','d','e','f','g','h','k','l','m','n','o','p','r','t','u','v','w','z'] else drawLine(False)

    t.left(90)

     # 繪制5號線段
    drawLine(True) if s in ['0','4','5','6','8','9','a','b','c','e','f','g','h','k','l','m','p','q','r','t','u','w','x','y'] else drawLine(False)
     # 繪制6號線段
    drawLine(True) if s in ['0','2','3','5','6','7','8','9','a','c','e','f','g','i','k','m','p','q','r','s'] else drawLine(False)
     # 繪制7號線段
    drawLine(True) if s in ['0','1','2','3','4','7','8','9','a','d','h','i','j','m','p','q','u','w','y','z'] else drawLine(False)

    t.right(180)
    t.penup()
    t.fd(30)

定義drawStr(Str)函數(shù),用于依次繪制輸入的字符串中的每個字符,通過遍歷字符串中的每個字符,調(diào)用drawDight()函數(shù)進行繪制。

def drawStr(Str):
    for x in Str:
        drawDight(x)   

定義main()函數(shù),用于設(shè)置全局參數(shù)和執(zhí)行繪制操作。

在函數(shù)中,首先通過input()函數(shù)獲取用戶輸入的一段字符,并將其賦值給變量a。

然后設(shè)置畫筆顏色為紅色,設(shè)置窗口大小為1280x720,隱藏畫筆,設(shè)置繪圖速度為0,即最快速度,將畫筆抬起并向后移動400個單位(設(shè)置繪圖起點),設(shè)置畫筆大小為5。

接著調(diào)用drawStr(a)函數(shù)來繪制用戶輸入的字符。

最后調(diào)用t.done()表示繪制完成。

def main(): # 全局設(shè)置
     a=input('請輸入一段字符:')
     t.pencolor('red') # 設(shè)置畫筆的顏色
     t.setup(1280,720) # 設(shè)置窗口的大小
     t.hideturtle() # 隱藏畫筆         
     t.speed(0) # 設(shè)置畫圖速度       
     t.penup() 
     t.fd(-400) # 設(shè)置繪圖起點         
     t.pensize(5) # 設(shè)置畫筆大小
     drawStr(a)
     t.done()      

最后調(diào)用main()函數(shù)來執(zhí)行整個繪制過程。文章來源地址http://www.zghlxwxcb.cn/news/detail-741420.html

main()

三、源代碼

import turtle as t
def drawGap(): # 繪制間隙
    t.penup()
    t.fd(5) # 設(shè)置間隙大小
def drawLine(draw): # 繪制數(shù)碼管中的一段線
     drawGap()
     t.pendown() if draw else t.penup()
     t.fd(40)
     drawGap()
     t.right(90)
def drawDight(s): # 根據(jù)字符繪制七段數(shù)碼管
     # 繪制1號線段
    drawLine(True) if s in ['2','3','4','5','6','8','9','a','b','d','e','f','h','k','n','o','p','q','s','t','w','x','y','z'] else drawLine(False)
     # 繪制2號線段
    drawLine(True) if s in ['0','1','3','4','5','6','7','8','9','a','b','d','g','h','i','j','k','m','n','o','q','u','v','w','x','y'] else drawLine(False)
     # 繪制3號線段
    drawLine(True) if s in ['0','2','3','5','6','8','9','b','c','d','e','g','i','j','l','o','s','t','u','v','w','y','z'] else drawLine(False)
     # 繪制4號線段
    drawLine(True) if s in ['0','2','6','8','a','b','c','d','e','f','g','h','k','l','m','n','o','p','r','t','u','v','w','z'] else drawLine(False)

    t.left(90)

     # 繪制5號線段
    drawLine(True) if s in ['0','4','5','6','8','9','a','b','c','e','f','g','h','k','l','m','p','q','r','t','u','w','x','y'] else drawLine(False)
     # 繪制6號線段
    drawLine(True) if s in ['0','2','3','5','6','7','8','9','a','c','e','f','g','i','k','m','p','q','r','s'] else drawLine(False)
     # 繪制7號線段
    drawLine(True) if s in ['0','1','2','3','4','7','8','9','a','d','h','i','j','m','p','q','u','w','y','z'] else drawLine(False)

    t.right(180)
    t.penup()
    t.fd(30)
def drawStr(Str):
    for x in Str:
        drawDight(x)          
def main(): # 全局設(shè)置
     a=input('請輸入一段字符:')
     t.pencolor('red') # 設(shè)置畫筆的顏色
     t.setup(1280,720) # 設(shè)置窗口的大小
     t.hideturtle() # 隱藏畫筆         
     t.speed(0) # 設(shè)置畫圖速度       
     t.penup() 
     t.fd(-400) # 設(shè)置繪圖起點         
     t.pensize(5) # 設(shè)置畫筆大小
     drawStr(a)
     t.done()      
main()

到了這里,關(guān)于Python turtle繪圖——七段數(shù)碼管顯示數(shù)字和字母的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包