七段數碼管繪製

xc3535231695發表於2024-11-27

from turtle import*
from time import*
def drawLine(draw): #回執單段數碼管
pendown() if draw else penup()
fd(40)
right(90)
def drawDigit(d): #根據數字繪製七段數碼管
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)
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)
left(180)
penup()
fd(20)
def drawDate(date): #獲得要輸出的數字
for i in date:
drawDigit(eval(i)) #注意:透過eval()函式將數字變為數字
def main():
setup(800,350,200,200)
penup()
fd(-300)
pensize(5)
color('red')
drawDate('31415926') #輸入的數字
hideturtle()
main()

相關文章