Python繪制七段數(shù)碼管實(shí)例代碼
七段數(shù)碼管(seven-segmentindicator)由7段數(shù)碼管拼接而成,每段有亮或不亮兩種情況,改進(jìn)型的七段數(shù)碼管還包括一個(gè)小數(shù)點(diǎn)位置
繪制模式:
input:輸入當(dāng)前日期的數(shù)字形式
process:根據(jù)每個(gè)數(shù)字繪制七段數(shù)碼管表示
output:繪制當(dāng)前日期的七段數(shù)碼管表示

示例一:
#DrawSevenSegDisplay.py
import turtle, datetime
def drawLine(draw): #繪制單段數(shù)碼管
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
turtle.right(90)
def drawDigit(digit): #根據(jù)數(shù)字繪制七段數(shù)碼管
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)
def drawDate(date): #獲得要輸出的數(shù)字
for i in date:
drawDigit(eval(i)) #注意: 通過(guò)eval()函數(shù)將數(shù)字變?yōu)檎麛?shù)
def main():
turtle.setup(800, 350, 200, 200)
turtle.penup()
turtle.fd(-300)
turtle.pensize(5)
drawDate(datetime.datetime.now().strftime('%Y%m%d'))
turtle.hideturtle()
main()
效果展示:

示例二:
#DrawSevenSegDisplay.py
import turtle, datetime
def drawGap(): #繪制數(shù)碼管間隔
turtle.penup()
turtle.fd(5)
def drawLine(draw): #繪制單段數(shù)碼管
drawGap()
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
drawGap()
turtle.right(90)
def drawDigit(d): #根據(jù)數(shù)字繪制七段數(shù)碼管
drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,6,8] else drawLine(False)
turtle.left(90)
drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
def drawDate(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:
drawDigit(eval(i))
def main():
turtle.setup(800, 350, 200, 200)
turtle.penup()
turtle.fd(-350)
turtle.pensize(5)
drawDate(datetime.datetime.now().strftime('%Y-%m=%d+'))
turtle.hideturtle()
main()
效果展示:

總結(jié)
以上就是本文關(guān)于Python繪制七段數(shù)碼管實(shí)例代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題。如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
通過(guò)Python腳本+Jenkins實(shí)現(xiàn)項(xiàng)目重啟
Jenkins是一個(gè)流行的開(kāi)源自動(dòng)化服務(wù)器,用于快速構(gòu)建、測(cè)試和部署軟件,本文主要介紹了通過(guò)Python腳本+Jenkins實(shí)現(xiàn)項(xiàng)目重啟,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10
Python實(shí)現(xiàn)爬取逐浪小說(shuō)的方法
這篇文章主要介紹了Python實(shí)現(xiàn)爬取逐浪小說(shuō)的方法,基于Python的正則匹配功能實(shí)現(xiàn)爬取小說(shuō)頁(yè)面標(biāo)題、鏈接及正文等功能,需要的朋友可以參考下2015-07-07
es+flask搜索小項(xiàng)目實(shí)現(xiàn)分頁(yè)+高亮的示例代碼
本文主要介紹了es+flask搜索小項(xiàng)目實(shí)現(xiàn)分頁(yè)+高亮的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

