在turtle画布中以数码管形式画出日期
思路:
1、数码管的绘画:将数码管分为七段,调用七次画直线并转向函数。
2、对于不同的数字,直线函数可判断七段中需要画出哪些。
3、利用time库获取当前格式化的日期并储存为字符串,遍历字符串写出所有数字
4、判断格式化日期中的字符,用turtle.write()函数写出年月日。
import turtle as tt
import time as ti
Num=["0","1","2","3","4","5","6","7","8","9"]
def Drawline(sign):
if sign:
tt.penup()
tt.fd(4)
tt.pendown()
tt.fd(22)
tt.penup()
tt.fd(4)
tt.pendown
else:
tt.penup()
tt.fd(30)
tt.right(90)
def Drawdigital(num):
Drawline(1) if num in ["2","3","4","5","6","8","9"] else Drawline(0)
Drawline(1) if num in ["0","1","3","4","5","6","7","8","9"] else Drawline(0)
Drawline(1) if num in ["0","2","3","5","6","8","9"] else Drawline(0)
Drawline(1) if num in ["0","2","6","8"] else Drawline(0)
tt.left(90)
Drawline(1) if num in ["0","4","5","6","8","9"] else Drawline(0)
Drawline(1) if num in ["0","2","3","5","6","7","8","9"] else Drawline(0)
Drawline(1) if num in ["0","1","2","3","4","7","8","9"] else Drawline(0)
def Get_time():
Day=ti.gmtime()
Day=ti.strftime("%Y-%m+%d=",Day)
print(Day)
return (Day)
def Turtle_init():
#tt.hideturtle()
tt.setup(800,800)
tt.penup()
tt.goto(-300,0)
tt.speed(0)
tt.pensize(5)
tt.color("red")
def Space():
tt.left(90)
tt.fd(20)
tt.left(90)
tt.fd(30)
tt.right(90)
tt.fd(50)
def Display():
Day=Get_time()
for i in Day:
print(i)
if i in Num:
Drawdigital(i)
tt.left(180)
tt.fd(20)
elif (i=="-"):
tt.fd(5)
tt.right(90)
tt.fd(30)
tt.write("年",font=("Arial",34,"normal"))
Space()
tt.pencolor("green")
elif (i=="+"):
tt.fd(5)
tt.right(90)
tt.fd(30)
tt.write("月",font=("Arial",34,"normal"))
Space()
tt.pencolor("blue")
elif (i=="="):
tt.fd(5)
tt.right(90)
tt.fd(30)
tt.write("日",font=("Arial",34,"normal"))
Space()
def main():
Turtle_init()
Display()
main()
代码太多注释懒得写