作业三:7段数码管绘制
算法说明:
运用turtle库实现画7段数码管
代码:
import turtle import datetime 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 drawdata(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")) turtle.pencolor("black") turtle.fd(40) elif i == '*': turtle.write('小时', font=("Arial", 18, "normal")) turtle.fd(40) elif i == '/': turtle.write('分', font=("Arial", 18, "normal")) else: drawdigit(int(i)) def main(): turtle.setup(1200, 350, 200, 200) turtle.speed(0) turtle.penup() turtle.fd(-500) turtle.pensize(5) current_time = datetime.datetime.now() drawdata(current_time.strftime('%Y-%m=%d+%H*%M/')) turtle.hideturtle() turtle.done() main()
运行结果:

浙公网安备 33010602011771号