python具有強大的資料處理功能,這一章我們就講解它的冰山一角,利用庫函式獲取系統時間並用書那關的形式進行展示、
源**如下:
#sevendigitsdrawv2.py
import turtle, time
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)
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)
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('2018-10=10+')
drawdate(time.strftime('%y-%m=%d+',time.gmtime())) #gmtime()獲取系統時間
turtle.hideturtle() #隱藏箭頭顯示
turtle.done()
main()
我們採用了模組化的程式設計思想,將其分別拆分為drawgap()--數碼管間隔、drawline()--繪製單段數碼管、drawdigit()--繪製七段數碼管、drawdate---系統時間格式化,並以main()函式啟動程式執行。
python七彩數碼管繪製
看mooc看到了這道題,挺有意思的。簡單寫了下。寫得不好看,有建議的話請提出來,學習嘛!總體效果如圖 如下 import turtle import time 繪製數字 def draw pen,x,y,num list 固定開始位置 pen.penup pen.goto x,y 遍歷數碼管的每一塊...
7段數碼管繪製
import turtle,time def drawgap turtle.speed 0 設定畫筆速度 fastest 0 fast 10 normal 6 slow 3 slowest 1 turtle.turtle screen.delay 0 畫筆速度無延遲turtle.penup turt...
7段數碼管繪製
import turtle,datetime def drawgap 繪製數碼管間隔 turtle.penup turtle.fd 5 def drawline draw 繪製單段數碼管 drawgap turtle.pendown if draw else turtle.penup turtle....