缺點:七段數碼管間無間隔不美觀,沒有「年」「月」「日」字樣不直觀,不能表示系統時間需手動輸入
import turtle
defdrawline
(draw)
:#繪製單段數碼管
turtle.pendown(
)if draw else turtle.penup(
) turtle.fd(40)
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
,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)
:#獲得要輸出的數字
for i in date:
drawdigit(
eval
(i))
#通過eval()函式將數字變為整數
優化後:
import turtle, time
defdrawgap()
: turtle.penup(
) turtle.fd(5)
defdrawline
(draw)
:#繪製單段數碼管
drawgap(
) turtle.pendown(
)if draw else turtle.penup(
) turtle.fd(40)
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
,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)
:#獲得要輸出的數字 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))
#通過eval()函式將數字變為整數
繪製七段數碼管
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...
七段數碼管繪製
七段數碼管繪製 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...