七段數碼管繪製

2021-10-04 03:36:53 字數 3980 閱讀 9466

步驟1:繪製單個數字對應的數碼管

步驟2:獲得一串數字,繪製對應的數碼管

步驟2:獲得當前系統時間,繪製對應的數碼管

步驟1:繪製單個數字對應的數碼管

基本問題是繪製一條線,可將其定義為乙個基本函式

def

drawline

(draw)

: turtle.pendown(

)if draw else turtle.penup(

)#判斷是真實繪製還是飛過去不繪製

turtle.fd(40)

turtle.right(

90)

步驟2:繪製單個數字對應的數碼管
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)

步驟3:獲得系統時間
drawdate(time.strftime(

'%y-%m=%d+'

,time.gmtime())

)

完整**

import turtle,time

defdrawgap()

: turtle.penup(

) turtle.fd(5)

defdrawline

(draw)

:#繪製單段數碼管

drawgap(

) turtle.pendown(

)if draw else turtle.penup(

) turtle.fd(40)

#靠draw來區分到底是飛過去不繪製還是真實繪製

drawgap(

) turtle.right(90)

defdrawdigit

(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)

defdrawdate

(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('green')

turtle.fd(40)

elif i ==

"+":

turtle.write(

"日",font=

('arial',18

,'normal'))

else

: drawdigit(

eval

(i))

defmain()

: turtle.setup(

800,

350,

200,

200)

turtle.penup(

) turtle.fd(

-300

) turtle.pensize(5)

drawdate(time.strftime(

'%y-%m=%d+'

,time.gmtime())

) turtle.hideturtle(

) turtle.done(

)main(

)

繪製七段數碼管

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

七段數碼管繪製

七段數碼管繪製 import turtle as t import time as t def drawgap 繪製數碼管的間隔 t.penup t.fd 5 def drawline draw 繪製單段數碼管,draw為true時,則實畫 drawgap t.pendown if draw els...

七段數碼管繪製 C

描述 根據七段數碼管繪製例項的思路,繪製創意的內容,內容不限 風格不限。例如 用七段數碼管繪製倒計時效果 繪製有一定風格的七段數碼管。解析 import turtle as t import datetime defdrawgap t.penup t.fd 5 defdrawline draw dr...