设计公司网站源码网站推广的营销策划方案
绘制单个数字对应的数码管?:
绘制单端数码管:
import turtle#绘制单端数码管
def drawLine(draw):turtle.pendown() if draw else turtle.penup()turtle.fd(40)turtle.right(90)
根据数字绘制七段数码管:
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.left(180)turtle.penup() #为绘制后续数字确定位置turtle.fd(20) #为绘制后续数字确定位置x = input()
drawDigit(x)
获取一段数字,绘制多个数码管?:
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.left(180)turtle.penup() #为绘制后续数字确定位置turtle.fd(20) #为绘制后续数字确定位置#获得要输出的数字
def drawDate(date):for i in date:drawDigit(eval(i)) #通过eval()函数将数字变为整数def main():turtle.setup(800, 350, 200, 200)turtle.penup()turtle.fd(-300)turtle.pensize(5)drawDate('20181010')turtle.hideturtle()turtle.done()main()
可以看到绘制的过程,这个感觉很棒~
增加间隔,使得数码管更美观:
import turtle#绘制数码管间隔
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(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)) #通过eval()函数将数字变为整数def main():turtle.setup(800, 350, 200, 200)turtle.penup()turtle.fd(-300)turtle.pensize(5)drawDate('20181010')turtle.hideturtle()turtle.done()main()
获取当前系统时间,绘制七段数码管?:
使用 time 库获得系统当前时间;
增加年月日标记;
年月日颜色不同。
import turtle, time#使用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(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) #为绘制后续数字确定位置#data为日期, 格式为'%Y - %m = %d + '
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)) #通过eval()函数将数字变为整数def main():turtle.setup(800, 350, 200, 200)turtle.penup()turtle.fd(-300)turtle.pensize(5)drawDate(time.strftime("%Y-%m=%d+", time.gmtime()))turtle.hideturtle()turtle.done()returnmain()