#七段数码管的绘制.py |
from turtle import * #调用turtle、random、time库 |
from random import * |
import time |
|
def drawGap(): |
penup() #提笔 |
fd( 5 ) |
def drawLine(draw): |
drawGap() |
if draw: #除了七段数码管提笔,其余停笔 |
pendown() |
else : |
penup() |
fd( 40 ) #向前40 |
drawGap() |
right( 90 ) #向右旋转90 |
def drawDight(digit): |
pencolor(random(),random(),random()) #颜色随机 |
drawLine( True ) if digit in [ 2 , 3 , 4 , 5 , 6 , 8 , 9 ] else drawLine( False ) #第一段那些数字会经过 |
pencolor(random(), random(), random()) |
drawLine( True ) if digit in [ 0 , 1 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] else drawLine( False ) |
pencolor(random(), random(), random()) |
drawLine( True ) if digit in [ 0 , 2 , 3 , 5 , 6 , 8 , 9 ] else drawLine( False ) |
pencolor(random(), random(), random()) |
drawLine( True ) if digit in [ 0 , 2 , 6 , 8 ] else drawLine( False ) |
pencolor(random(), random(), random()) |
left( 90 ) #向左旋转90度 |
drawLine( True ) if digit in [ 0 , 4 , 5 , 6 , 8 , 9 ] else drawLine( False ) |
pencolor(random(), random(), random()) |
drawLine( True ) if digit in [ 0 , 2 , 3 , 5 , 6 , 7 , 8 , 9 ] else drawLine( False ) |
pencolor(random(), random(), random()) |
drawLine( True ) if digit in [ 0 , 1 , 2 , 3 , 4 , 7 , 8 , 9 ] else drawLine( False ) |
pencolor(random(), random(), random()) |
left( 180 ) |
penup() # 为绘制后续数字确定位置 |
fd( 20 ) # 为绘制后续数字确定位置 |
def drawDate(date): |
|
for i in date: |
|
if i = = '-' : #设定年、月、日的单位 |
|
write( '年' , font = ( "Arial" , 28 , "normal" )) |
pencolor( "orange" ) |
fd( 40 ) |
elif i = = '=' : |
write( '月' , font = ( "Arial" , 28 , "normal" )) |
pencolor( "pink" ) |
fd( 40 ) |
elif i = = '+' : |
|
write( '日' , font = ( "Arial" , 28 , "normal" )) |
pencolor( "yellow" ) |
|
else : |
drawDight( eval (i)) |
def main(): |
|
setup( 800 , 350 , 200 , 200 ) #设置画布大小 |
penup() |
fd( - 300 ) |
pensize( 5 ) |
|
|
drawDate(time.strftime( '%Y-%m=%d+' ,time.localtime())) # 将模板设置为"小时-分钟=秒+" |
hideturtle() |
done() |
main() |