繪製單段數碼管
import turtle
import time
def drawline(draw):
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
turtle.right(90)
#根據數字繪製數碼管
def drawdigit(digit):
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):
for i in date:
drawdigit(eval(i))
def main():
turtle.setup(800,400,200,200)
turtle.penup()
turtle.fd(-300)
turtle.pensize(5)
date1 = time.ctime()
date = filter(str.isdigit, date1)
drawdate(date)
turtle.hideturtle()
turtle.done()
main()
優化與改進
import turtle
import time
#繪製單段數碼管
def drawline(draw):
drawgap()
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
drawgap()
turtle.right(90)
def drawgap():
turtle.penup()
turtle.fd(5)
#根據數字繪製數碼管
def drawdigit(digit):
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):
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,400,200,200)
turtle.penup()
turtle.fd(-300)
turtle.pensize(5)
drawdate(time.strftime(』%y-%m=%d+』,time.gmtime()))
turtle.hideturtle()
turtle.done()
main()
python兩位數倒計時
import turtle
import time
#繪製單段數碼管
def drawline(draw):
turtle.speed(1000000)
drawgap()
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
drawgap()
turtle.right(90)
def drawgap():
turtle.penup()
turtle.fd(5)
#根據數字繪製數碼管
def drawdigit(digit):
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()
def drawnumber(n):
turtle.pencolor(『red』)
for i in range(n, -1, -1):
if(i>=10):
drawdigit(i//10)
turtle.fd(20)
drawdigit(i%10)
time.sleep(0.5)
turtle.clear()
turtle.penup()
turtle.fd(-100)
turtle.pendown()
else:
drawdigit(i)
time.sleep(0.5)
turtle.clear()
turtle.penup()
turtle.fd(-50)
turtle.pendown()
def main():
turtle.setup(800,400,200,200)
turtle.penup()
turtle.fd(-300)
turtle.pensize(5)
drawnumber(10)
turtle.done()
main()
繪製七段數碼管
seven digits draw v1.0 第一,繪製線 第二,繪製七段數碼管組成的數字 第三,繪製優化數碼管間距 第四,繪製多組數字 第五,獲取系統時間 第六,主函式執行程式。如下 import turtle as t import time def drawline draw drawgap ...
七段數碼管繪製
步驟1 繪製單個數字對應的數碼管 步驟2 獲得一串數字,繪製對應的數碼管 步驟2 獲得當前系統時間,繪製對應的數碼管 步驟1 繪製單個數字對應的數碼管 基本問題是繪製一條線,可將其定義為乙個基本函式 def drawline draw turtle.pendown if draw else turt...
七段數碼管繪製
七段數碼管繪製 import turtle as t import time as t def drawgap 繪製數碼管的間隔 t.penup t.fd 5 def drawline draw 繪製單段數碼管,draw為true時,則實畫 drawgap t.pendown if draw els...