使用Python的turtle庫實現七段數碼管繪製

2021-09-07 16:59:51 字數 3912 閱讀 6011

七段數碼管繪製:

七段數碼管是由

7段數碼管拼接而成,每段有亮或不亮兩種情況,改進的七段數碼管還包括乙個小數點位置。

七段數碼管能形成2^

7=128種狀態,其中部分狀態能夠顯示易於人們理解的數字或字母含義。因此被廣泛使用。

使用turtle庫並使用函式封裝繪製七段數碼管,顯示當前系統日期和時間。

該問題的ipo描述如下:

輸入:當前日期的數字形式。

處理:根據每個數字繪製七段數碼管表示。

輸出:繪製當前日期的七段數碼管表示。

**如下:

#

drawsevensegdisplay.py

import

turtle, datetime

def drawline1(draw): #

繪製單段數碼管

turtle.pendown() if draw else

turtle.penup()

turtle.fd(40)

turtle.right(90)

def drawdigit1(digit): #

根據數字繪製七段數碼管

drawline1(true) if digit in [2, 3, 4, 5, 6, 8, 9] else

drawline1(false)

drawline1(true)

if digit in [0, 1, 3, 4, 5, 6, 7, 8, 9] else

drawline1(false)

drawline1(true)

if digit in [0, 2, 3, 5, 6, 8, 9] else

drawline1(false)

drawline1(true)

if digit in [0, 2, 6, 8] else

drawline1(false)

turtle.left(90)

drawline1(true)

if digit in [0, 4, 5, 6, 8, 9] else

drawline1(false)

drawline1(true)

if digit in [0, 2, 3, 5, 6, 7, 8, 9] else

drawline1(false)

drawline1(true)

if digit in [0, 1, 2, 3, 4, 7, 8, 9] else

drawline1(false)

turtle.left(180)

turtle.penup()

turtle.fd(20)

def drawdate1(date): #

獲得要輸出的數字

for i in

date:

drawdigit1(eval(i))

#注意: 通過eval()函式將數字變為整數

defmain1():

turtle.setup(800, 350, 200, 200)

turtle.penup()

turtle.fd(-300)

turtle.pensize(5)

drawdate1(datetime.datetime.now().strftime(

'%y%m%d'))

turtle.hideturtle()

main1()

程式執行結果:

帶有「年、月、日」的程式**如下:

#

------another:

#drawsevensegdisplay.py

import

turtle, datetime

def drawgap(): #

繪製數碼管間隔

turtle.penup()

turtle.fd(5)

def drawline2(draw): #

繪製單段數碼管

drawgap()

turtle.pendown()

if draw else

turtle.penup()

turtle.fd(40)

drawgap()

turtle.right(90)

def drawdigit2(d): #

根據數字繪製七段數碼管

drawline2(true) if d in [2,3,4,5,6,8,9] else

drawline2(false)

drawline2(true)

if d in [0,1,3,4,5,6,7,8,9] else

drawline2(false)

drawline2(true)

if d in [0,2,3,5,6,8,9] else

drawline2(false)

drawline2(true)

if d in [0,2,6,8] else

drawline2(false)

turtle.left(90)

drawline2(true)

if d in [0,4,5,6,8,9] else

drawline2(false)

drawline2(true)

if d in [0,2,3,5,6,7,8,9] else

drawline2(false)

drawline2(true)

if d in [0,1,2,3,4,7,8,9] else

drawline2(false)

turtle.left(180)

turtle.penup()

turtle.fd(20)

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

"blue")

turtle.fd(40)

elif i == '+'

: turtle.write('日

',font=("

arial

", 18, "

normal"))

else

: drawdigit2(eval(i))

defmain2():

turtle.setup(800, 350, 200, 200)

turtle.penup()

turtle.fd(-350)

turtle.pensize(5)

drawdate2(datetime.datetime.now().strftime(

'%y-%m=%d+'))

turtle.hideturtle()

main2()

程式執行結果:

Python中turtle庫的使用

turtle庫是python內建的圖形化模組,屬於標準庫之一,位於python安裝目錄的lib資料夾下,常用函式有以下幾種 coding utf 8 繪製蟒蛇 import turtle turtle.penup turtle.pencolor red turtle.forward 250 turt...

python學習筆記 turtle庫的使用

python中其他庫的呼叫方法也一樣 1 import 庫名 使用方法 庫名 函式名 函式引數 使用這種方法的好處就是,當乙個程式裡呼叫了多個庫時,可以防止函式名重複。2 from 庫名 import 函式名1,函式名2,函式名n 這種方法呼叫的只是import後宣告的函式,在使用這些函式時,直接 ...

使用python的turtle函式繪製乙個滑稽表情

turtle庫是python語言中乙個很流行的繪製影象的函式庫,想象乙個小烏龜,在乙個橫軸為x 縱軸為y的座標系原點,0,0 位置開始,它根據一組函式指令的控制,在這個平面座標系中移動,從而在它爬行的路徑上繪製了圖形。turtle繪圖的基礎知識 1.畫布 canvas 畫布就是turtle為我們展開...