#QiDuanShuMaGuan.py
import turtle
def drawGap(): #设置每条线之间的间隔
turtle.penup() #画笔抬起
turtle.fd(5)
def drawLine(draw): #绘制单段数码管
drawGap()
turtle.pendown() if draw else turtle.penup() #根据参数draw判断画笔是放下还是抬起
turtle.fd(40)
drawGap()
turtle.right(90)
def drawDights(dight): #根据数字绘制七段数码管
drawLine(True) if dight in [2, 3, 4, 5, 6, 8, 9] else drawLine(False)
drawLine(True) if dight in [0, 1, 3, 4, 5, 6, 7, 8, 9] else drawLine(False)
drawLine(True) if dight in [0, 2, 3, 5, 6, 8, 9] else drawLine(False)
drawLine(True) if dight in [0, 2, 6, 8] else drawLine(False)
turtle.left(90)
drawLine(True) if dight in [0, 4, 5, 6, 8, 9] else drawLine(False)
drawLine(True) if dight in [0, 2, 3, 5, 6, 7, 8, 9] else drawLine(False)
drawLine(True) if dight in [0, 1, 2, 3, 4, 7, 8, 9] else drawLine(False)
turtle.left(180)
turtle.penup()
turtle.fd(15) #每个绘制的七段数码管之间的距离
def drawDate(date):
turtle.pencolor("red")
for i in reversed(range(date+1)):
num = str(i)
for n in num:
drawDights(eval(n)) #使用eval()函数去掉参数的外层引号
turtle.clear() #清空已经绘制的七段数码管,为下次绘制做好准备
s = len(num)
turtle.fd(-65*s) #回退到起始位置
def main():
turtle.setup(500, 350, 20, 20) #设置窗口大小以及相对屏幕的位置
turtle.hideturtle() #隐藏画笔
temp = input("请设置倒计时时间:")
sp = input("请设置绘制速度大小:")
turtle.speed(eval(sp)) #设置绘制速度
turtle.penup()
turtle.fd(-200) #画笔默认在窗口中心,此处使画笔回退200个像素点
turtle.pensize(5)
drawDate(eval(temp))
print("倒计时结束".center(40//2, "-"))
turtle.done() #程序运行后不会立即退出
main()
使用python编写七段数码管倒计时
于 2019-09-01 11:54:27 首次发布