即时时间七段数码管的编写
对于初学者,这段代码值得敲一下,里面包含两个小模块包(海龟和时间),python函数的定义和内嵌,以及一些简单语法的应用,适合初学者融合基础知识所用。
import turtle
import time # 调取模块包
turtle.setup(900,600)
t = turtle.Pen()
t.shape("turtle")
def drawa(): # 画间隔
t.up()
t.fd(5)
def draw(flag):
drawa()
if flag:
t.down()
else:
t.up()
t.fd(10)
drawa()
t.right(90)
def drawlin(num):
t.speed(0)
draw(True) if num in [2, 3, 4, 5, 6, 8, 9] else draw(False)
draw(True) if num in [0, 1, 3, 4, 5, 6, 7, 8, 9] else draw(False)
draw(True) if num in [0, 2, 3, 5, 6, 8, 9] else draw(False)
draw(True) if num in [0, 2, 6, 8, ] else draw(False)
t.left(90)
draw(True) if num in [0, 4, 5, 6, 8, 9] else draw(False)
draw(True) if num in [0, 2, 3, 5, 6, 7, 8, 9] else draw(False)
draw(True) if num in [0, 1, 2, 3, 4, 7, 8, 9] else draw(False)
t.seth(0)
t.up()
t.fd(30)
# if num in [2, 3, 4, 5, 6, 8, 9]:
# t.down()
# t.fd(40)
# t.right(90)
# else:
# t.up()
# t.fd(40)
# t.right(90)
# if num in [0, 1, 3, 4, 5, 6, 7, 8, 9]: #循环代码太多可以抽出来新定义一个函数 dif draw(flag)
# t.down()
# t.fd(40)
# t.right(90)
# else:
# t.up()
# t.fd(40)
# t.right(90)
def program():
t.up()
t.goto(-250,200)
t.down()
t.pencolor("red")
t.write("程序员节日快乐",font=("Arial", 60, "normal"))
t.hideturtle()
def kong1(): # 年月日的调整
t.right(90)
t.fd(20)
t.left(90)
def kong2(): # 时分秒的调整
t.left(90)
t.fd(20)
t.seth(0)
t.fd(40)
def get_data(data):
for i in data:
if i == "/": # 对/进行判断
kong1()
t.pencolor("orange")
t.write("年",font=("Arial", 20, "normal")) # font=("Arial", 20, "normal")表示配置字体
kong2()
elif i == "-": # 对-进行判断
kong1()
t.pencolor("pink")
t.write("月", font=("Arial", 20, "normal"))
kong2()
elif i == "*": # 对*进行判断
kong1()
t.pencolor("blue")
t.write("日", font=("Arial", 20, "normal"))
kong2()
t.up()
t.goto(-150, -100)
elif i == ".": # 对/进行判断
kong1()
t.write("时",font=("Arial",20, "normal"))
t.color("yellow")
kong2()
elif i == "_": # 对-进行判断
kong1()
t.write("分", font=("Arial", 20, "normal"))
t.color("brown")
kong2()
elif i == "$": # 对*进行判断
kong1()
t.write("秒", font=("Arial",20, "normal")) # font=()表示配置字体
kong2()
else:
drawlin(eval(i))
def main(): # 主函数
t.up()
t.bk(200)
t.pensize(5)
t.color("red")
get_data(time.strftime("%Y/%m-%d*%H.%M_%S$",time.gmtime())) # 通过time包调取实时日期
program()
main()
turtle.mainloop()