用Turtle繪製七段電晶體顯示時間和日期

2021-10-10 08:07:20 字數 3416 閱讀 1368

自定義繪製間隙函式—>自定義繪製單段橫線函式—>自定義繪製七段電晶體數字0-9函式—>自定義繪製時間和日期函式—>設計並呼叫主函式

import turtle as t    

import time //引入庫函式

def drawgab()

://自定義函式繪製間隙

t.penup()

t.fd(

5)

def drawline

(line)

://自定義函式繪製單段橫線

drawgab()

t.pendown()

if line else t.

penup()

//注意這裡簡寫的if-else格式:《表示式1> if(條件) else 《表示式2>

t.fd(

20)//在決定是否抬起畫筆後不要忘記向前移動

drawgab()

t.right(90

)//不要忘記轉換角度

def drawdigit

(digit)

://繪製七段電晶體數字0-9

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)

t.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)

t.right

(180

)//注意將角度變為原先的起始方向

t.penup()

//抬筆!抬筆!抬筆!

t.fd(

20)//向前移動,為繪製下乙個數字做準備

def drawtime

(time)

://自定義函式顯示時間和日期

t.pencolor

("red"

)//畫筆顏色可以自定義

for i in time:

//不要忘記for迴圈,以及需要注意for迴圈/if/自定義函式的格式

if i==

"+":

t.write

("年"

,font=

("宋體",20

,"normal"))

//設定字型格式,這裡需要注意turtle.wrile()及font()函式的使用格式

t.pencolor

("red"

) t.fd(

40)elif i==

"-":

t.write

("月"

,font=

("宋體",20

,"normal"))

t.pencolor

("red"

) t.fd(

40)elif i==

"*":

t.write

("日"

,font=

("宋體",20

,"normal"))

t.pencolor

("purple"

) t.fd(

70)elif i==

"/":

t.write

("時"

,font=

("宋體",20

,"normal"))

t.pencolor

("green"

) t.fd(

40)elif i==

"&":

t.write

("分"

,font=

("宋體",20

,"normal"))

t.pencolor

("blue"

) t.fd(

40)elif i==

"#":

t.write

("秒"

,font=

("宋體",20

,"normal"))

//時間繪製已經結束,不需要再設定字型格式

else

:drawdigit

(eval

(i))

//注意這裡需要把字元轉換為數字

def main()

://設計主函式

t.setup

(1300

,800,0

,0)//設定畫布大小

t.pensize(5

) t.

penup()

//控制畫筆起始位置,為繪圖做準備

t.fd(

-450

)//畫筆左移

drawtime

(time.

strftime

("%y+%m-%d*%h/%m&%s#"

,time.

localtime()

))//呼叫時間函式獲取時間並將時間值傳給自定義函式drawtime()

t.hideturtle()

//繪圖結束後隱藏小烏龜

t.done()

main()

//呼叫主函式

繪製七段數碼管,turtle

繪製單段數碼管 import turtle import time def drawline draw turtle.pendown if draw else turtle.penup turtle.fd 40 turtle.right 90 根據數字繪製數碼管 def drawdigit digi...

基於turtle庫的七段數碼管繪製

文章結構 樣例及概覽 函式框架分析 功能發展 樣例及概覽 七段數碼管,是訊號燈 電子錶等很多裝置的顯示形式。而利用python的turtle庫,我們也可以模擬著寫出乙個動態生成的七段數碼管,用來顯示日期 時間等等任何可以通過數字展示的東西。下面的例子展示了乙個基本的日期顯示功能。日曆 自定義日期 七...

用Python繪製七段數碼管

題目 數碼管是一種 便宜 使用簡單的發光電子器件,廣泛應用在 較低的電子類產品中,其中,七段數碼管最為常用。七段數碼管 seven segment indicator 由7 段數碼管拼接而成,每段有亮或不亮兩種情況,改進型的七段數碼管還包括乙個小數點位置,如圖1 所示。圖 1 七段數碼管的結構圖 七...