七段數碼管繪製:七段數碼管是由
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為我們展開...