python七段數碼管,turtle和time實現

2021-09-25 18:01:11 字數 1739 閱讀 7884

使用turtle庫,time庫自動繪製七段數碼管,顯示當前日期

#畫筆粗細2.5,繪製結束隱藏畫筆,線段間隔3/6,匯入時間模組,手動輸入日期改為自動獲取日期

import turtle as t

import time

#定義畫線or不畫線函式

def drawline(draw):

t.pu()

t.fd(3)

t.pd()

t.pd() if draw else t.pu()

t.fd(40)

t.pu()

t.fd(3)

t.pd()

t.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,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)

t.left(90)

drawline(true) if digit in (0,4,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)

t.pu()

t.left(180)

t.fd(20)

#定義年月日輸出函式

def write_data(s):

t.color((255,177,77))

t.write(s,font=("c:\\windows:\\font:\\msyh.ttl","10"))

t.pu()

t.fd(20)

t.pd()

t.color((89,89,89))

#獲取時間資料

#定義繪製函式

def draw(data):

for digit in data:

if digit == '-':

write_data("年")

elif digit == '=':

write_data("月")

elif digit == '+':

write_data("日")

else:

digit=eval(digit)

drawdigit(digit)

t.hideturtle()

t.done()

#定義主函式

def main():

t.pensize(2.5)

t.pu()

t.goto(-300,0)

t.colormode(255)

t.color((89,89,89))

#引入時間

draw(time.strftime('%y-%m-%d+',time.gmtime()))

#呼叫主函式

main()

Python 七段數碼管

缺點 七段數碼管間無間隔不美觀,沒有 年 月 日 字樣不直觀,不能表示系統時間需手動輸入 import turtle defdrawline draw 繪製單段數碼管 turtle.pendown if draw else turtle.penup turtle.fd 40 turtle.right...

繪製七段數碼管

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...