Python初學者日誌 7段數碼管繪製Demo

2021-08-21 21:41:43 字數 2239 閱讀 3495

import turtle

#繪製單個線條

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.right(180)

turtle.penup()

turtle.fd(20)

turtle.pendown()

#對時間數字段中單個的數字進行處理

def drawdata(data):

for i in data:

drawdigit(eval(i))

#設定基本繪製環境

def main():

turtle.setup(800, 350, 200, 200)

turtle.penup()

turtle.fd(-300)

turtle.pensize(5)

drawdata('20180730')

turtle.hideturtle()

turtle.done()

main()

下面為更好繪製效果的實現:

1、增加繪製的數碼效果,也就是線段間隔效果

#間隔設定

def drawgap():

turtle.penup()

turtle.fd(5)

def drawline(draw):

#在繪製線段之前和之後都填上一段間隔

drawgap()

turtle.pendown() if draw else turtle.penup()

turtle.fd(40)

drawgap()

turtle.right(90)

2、獲取系統時間

(main函式中)

drawdata(time.strftime('%y-%m=%d+', time.gmtime()))
3、年月日的表示、顏色統一

def drawdata(data):

#年的顏色為tomato

turtle.pencolor("tomato")

for i in data:

#四組判斷

if i == '-':

turtle.write('年', font = ("arial", 25, "normal"))

#月的顏色為黃色

turtle.pencolor("yellow")

turtle.fd(90)

elif i =='=':

turtle.write('月', font = ("arial", 25, "normal"))

#日的顏色為藍色

turtle.pencolor("blue")

turtle.fd(90)

elif i =='+':

turtle.write('日', font = ("arial", 25, "normal"))

else:

drawdigit(eval(i))

Python初學者日誌 7 25

與數學中整數概念一致,可正可負 pow x,y 函式 計算x y,想算多大就多大 四種進製表示 10進製 2進製 8進 16進製制 取值範圍和小數精度都存在限制,但通常不影響 取值範圍約為 10 308 10 308 精度數量級為10 16 浮點數運算存在不確定尾數,不是bug 解釋 用53位二進位...

Python初學者日誌 函式

def 函式名 引數 函式體 return 返回值 函式定義時,引數是一種佔位符 函式定義後,若不被呼叫,則不會被執行 函式定義後,引數是輸入,函式體是處理,結果是輸出。也就是說,函式是ipo的一種形式。函式可以有引數,也可以沒有,但必須保留函式名後的括號 函式定義時可以為某些引數指定預設值,構成可...

Linux初學者日誌

linux 小白日記 作為一名linux的初學者,在第一次接觸linux後,就對其產生了很濃厚的興趣。在學linux之前,一直用的都是windows系統,對我來說,兩者最大的差別就是windows系統所有的操作方式都十分直觀易懂,沒有太多條條框框的拘束,而linux則多了許多的必需的 法則 學起來也...