步驟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...