# 问题分析 1.七段数码管能显示的内容是:
2.确定绘图的方向
下面的图片来自于中国大学慕课课程截图
# 问题分析
import turtle
def drawline(draw): # 定义绘制单段数码管的函数
turtle.pendown() if draw else turtle.penup() # 定义是,如果draw 是ture,则pendown,绘制,否则,画笔抬起,penup。
turtle.fd(40)
turtle.right(90) # 前进40个像素,并想有旋转90度,就是顺时针旋转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))
def main():
turtle.setup(800,350,200,200)
turtle.penup()
turtle.fd(-200)
turtle.pensize(5)
turtle.pencolor("red")
drawDate('20220404')
turtle.hideturtle()
turtle.done()
main()