输出结果如下所示,,可以看到本来应该是23日结果输出成了23月,甚至多输出了一次年份:
代码如下所示:
#七个灯数码管绘制
import turtle, time
def draw_gap():
turtle.penup()
turtle.fd(5)
def draw_line(draw):
draw_gap()
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
draw_gap()
turtle.right(90)
def draw_digit(number):
draw_line(True) if number in [2,3,4,5,6,8,9] else draw_line(False)
draw_line(True) if number in [0,1,3,4,5,6,7,8,9] else draw_line(False)
draw_line(True) if number in [0,2,3,5,6,8] else draw_line(False)
draw_line(True) if number in [0,2,6,8] else draw_line(False)
turtle.left(90)
draw_line(True) if number in [0,4,5,6,8,9] else draw_line(False)
draw_line(True) if number in [0,2,3,5,6,7,8,9] else draw_line(False)
draw_line(True) if number in [0,1,2,3,4,7,8,9] else draw_line(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
def draw_date(date):
turtle.pencolor("red")
for i in date:
if i == "-":
turtle.pencolor("green")
turtle.write("年", font=("Arial", 18,"normal"))
turtle.fd(40)
elif i == '=':
turtle.pencolor("green")
turtle.write("月", font=("Arial", 18, "normal"))
turtle.fd(40)
elif i == '+':
turtle.pencolor("green")
turtle.write("月", font=("Arial", 18, "normal"))
turtle.fd(40)
else:
turtle.pencolor("red")
draw_digit(eval(i))
for i in date:
draw_digit(eval(i))
def main():
turtle.setup(800,350,200,200)
turtle.penup()
turtle.fd(-300)
turtle.pensize(5)
draw_date(time.strftime("%Y-%m=%d+", time.gmtime()))
turtle.hideturtle()
turtle.done
main()
还有一个疑问:明明我加了turtle.done,为什么它画完之后还是会自动退出呢?