Python例項之七段數碼管繪製

2021-10-07 15:37:55 字數 3495 閱讀 8744

基本思路:

1.繪製單個數字對應的數碼管

2.獲得一串數字,繪製對應的數碼管

3.獲得當前系統時間,繪製對應的數碼管

首先,繪製單個數字對應的數碼管函式:

def

drawgap()

:#繪製數碼管間隔

turtle.penup(

) turtle.fd(5)

defdrawline

(draw)

: drawgap()if

(draw)

: turtle.pendown(

)else

: turtle.penup(

) turtle.fd(40)

turtle.right(

90)

之後,根據數字繪製七段數碼管:

def

drawdigit

(digit)

:#根據數字繪製七段數碼管

if digit in[2

,3,4

,5,6

,8,9

]:#1 drawline(

true

)else

: drawline(

false

)if digit in[0

,1,3

,4,5

,6,7

,8,9

]:#2 drawline(

true

)else

: drawline(

false

)if digit in[0

,2,3

,5,6

,8,9

]:#3 drawline(

true

)else

: drawline(

false

)if digit in[0

,2,6

,8]:

#4 drawline(

true

)else

: drawline(

false

) turtle.left(90)

#左轉90度

if digit in[0

,4,5

,6,8

,9]:

#5 drawline(

true

)else

: drawline(

false

)if digit in[0

,2,3

,5,6

,7,8

,9]:

#6 drawline(

true

)else

: drawline(

false

)if digit in[0

,1,2

,3,4

,7,8

,9]:

#7 drawline(

true

)else

: drawline(

false

) turtle.left(

180)

turtle.penup(

)#為繪製後續數字確定位置

turtle.fd(20)

#為繪製後續數字確定位置

將數字串轉換成單個數字:

def

drawdate

(date)

:for i in date:

drawdigit(

eval

(i))

定義主函式:

def

main()

: turtle.setup(

800,

350,

200,

200)

turtle.penup(

) turtle.fd(

-300

) turtle.pensize(10)

drawdate(

'20200630'

) turtle.hideturtle(

) turtle.done(

)

程式執行結果如下:

接下來,獲得當前系統時間,用於繪製對應的數碼管。

修改drawdate函式:

def

drawdate

(date)

:#data為日期,格式為『%y-%m=%d+』

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.penup(

) turtle.fd(

-300

) turtle.pensize(10)

drawdate(time.strftime(

'%y-%m=%d+'

,time.gmtime())

) turtle.hideturtle(

) turtle.done(

)

修改後的程式結果如圖:

Python 七段數碼管

缺點 七段數碼管間無間隔不美觀,沒有 年 月 日 字樣不直觀,不能表示系統時間需手動輸入 import turtle defdrawline draw 繪製單段數碼管 turtle.pendown if draw else turtle.penup turtle.fd 40 turtle.right...

繪製七段數碼管

seven digits draw v1.0 第一,繪製線 第二,繪製七段數碼管組成的數字 第三,繪製優化數碼管間距 第四,繪製多組數字 第五,獲取系統時間 第六,主函式執行程式。如下 import turtle as t import time def drawline draw drawgap ...

七段數碼管繪製

步驟1 繪製單個數字對應的數碼管 步驟2 獲得一串數字,繪製對應的數碼管 步驟2 獲得當前系統時間,繪製對應的數碼管 步驟1 繪製單個數字對應的數碼管 基本問題是繪製一條線,可將其定義為乙個基本函式 def drawline draw turtle.pendown if draw else turt...