7段数码管

import turtle
import datetime

def draw_line(draw):
"""绘制单段数码管"""
turtle.pendown() if draw else turtle.penup()
turtle.forward(40)
turtle.right(90)

def draw_digit(digit):
"""根据数字绘制七段数码管"""
draw_line(True) if digit in [2, 3, 4, 5, 6, 8, 9] else draw_line(False)
draw_line(True) if digit in [0, 1, 3, 4, 5, 6, 7, 8, 9] else draw_line(False)
draw_line(True) if digit in [0, 2, 3, 5, 6, 8, 9] else draw_line(False)
draw_line(True) if digit in [0, 2, 6, 8] else draw_line(False)
turtle.left(90)
draw_line(True) if digit in [0, 4, 5, 6, 8, 9] else draw_line(False)
draw_line(True) if digit in [0, 2, 3, 5, 6, 7, 8, 9] else draw_line(False)
draw_line(True) if digit in [0, 1, 2, 3, 4, 7, 8, 9] else draw_line(False)
turtle.left(180)
turtle.penup()
turtle.forward(20)

def draw_date(date):
"""绘制日期"""
for i in date:
if i == '-':
turtle.write('年', font=("Arial", 18, "normal"))
turtle.pencolor("green")
turtle.forward(40)
elif i == '/':
if turtle.pencolor() == "green":
turtle.write('月', font=("Arial", 18, "normal"))
else:
turtle.write('日', font=("Arial", 18, "normal"))
turtle.pencolor("blue")
turtle.forward(40)
elif i == ':':
turtle.write('时', font=("Arial", 18, "normal"))
turtle.forward(40)
else:
draw_digit(eval(i))

def main():
turtle.setup(800, 350, 200, 200)
turtle.penup()
turtle.forward(-350)
turtle.pensize(5)
# 获取当前系统时间
now = datetime.datetime.now()
date_str = now.strftime("%Y-%m/%d:%H")
draw_date(date_str)
turtle.hideturtle()
turtle.done()

if name == "main":
main()

posted @ 2025-05-05 20:10  你好book  阅读(10)  评论(0)    收藏  举报