本关任务:编写一个小程序绘制七段数码管,20200214, 其中灰色直线是画布的横轴和纵轴,作为绘图参照物,绘图时不需绘制。 编程要求 根据提示,在右侧编辑器补充完整函数,绘制如上图所示的当前日期的数码管。
时间: 2024-04-30 17:18:07 浏览: 54
```python
import turtle
import datetime
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:
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(datetime.datetime.now().strftime('%Y-%m=%d+'))
turtle.hideturtle()
turtle.done()
main()
```
阅读全文