自动计算女朋友的生日倒计时提前给她准备一个surprise!
代码如下:
import turtle, datetime
def drawGap(): #绘制数码管间隔
turtle.penup()
turtle.fd(5)
def drawLine(draw): #绘制单段数码管
drawGap()
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
drawGap()
turtle.right(90)
def drawDigit(d): #根据数字绘制七段数码管
drawLine(True) if d in [2,3,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,1,3,4,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,6,8] else drawLine(False)
turtle.left(90)
drawLine(True) if d in [0,4,5,6,8,9] else drawLine(False)
drawLine(True) if d in [0,2,3,5,6,7,8,9] else drawLine(False)
drawLine(True) if d in [0,1,2,3,4,7,8,9] else drawLine(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
def drawDate(date):
turtle.pencolor("red")
#倒计时
turtle.write('生日倒计时:',font=("Arial", 40, "normal"))
turtle.fd(300)
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))
turtle.write('天',font=("Arial", 18, "normal"))
#计算出下一个生日的倒计时
def countdown():
now= datetime.datetime.now()
#birth_year, birth_month, birth_day
birth_year = eval( input("请输入下一个生日年份:"))
birth_month = eval( input("请输入下一个生日月份:"))
birth_day = eval( input("请输入下一个生日那天:"))
birthday = datetime.datetime(birth_year,birth_month,birth_day)
delta = birthday-now
deltaStr=str(delta)
print(deltaStr)
s = ""
for char in deltaStr:
if char != " ":
s += char
else:
break
print (s)
return s
def main():
turtle.setup(800, 350, 200, 200)
turtle.penup()
turtle.fd(-350)
turtle.pensize(5)
#计算出下一个生日的倒计时
drawDate(countdown())
#drawDate(datetime.datetime.now().strftime('%m=%d+'))
turtle.hideturtle()
main()
turtle.done()
菜鸟一个请多指教。