话不多说,上代码
# -*- coding: utf-8 -*-
import turtle,time
def Draw_Gap():
"""在一根根数码管之间形成间隔"""
turtle.penup()
turtle.fd(8)
def Part_Draw(draw):
"""画出一根数码管"""
turtle.pendown() if draw else turtle.penup()
turtle.fd(40)
Draw_Gap()
turtle.right(90)
def Comp_Draw(number):
"""根据数字绘制不同的数码管"""
Part_Draw(True) if number in [2,3,4,5,6,8,9] else Part_Draw(False)
Part_Draw(True) if number in [0,1,3,4,5,6,8,9] else Part_Draw(False)
Part_Draw(True) if number in [0,2,3,5,6,8,9] else Part_Draw(False)
Part_Draw(True) if number in [0,2,6,8] else Part_Draw(False)
turtle.left(90)
Part_Draw(True) if number in [0,4,5,6,8,9] else Part_Draw(False)
Part_Draw(True) if number in [0,2,3,5,6,7,8,9] else Part_Draw(False)
Part_Draw(True) if number in [0,1,2,3,4,7,8,9] else Part_Draw(False)
turtle.left(180)
turtle.penup()
turtle.fd(20)
def Draw_Date(date):
"""这里可以把当前系统日期描绘出来,date格式为“%Y-%m=%d+”"""
turtle.pencolor("red")
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:
Comp_Draw(eval(i))
def main():
turtle.setup(800,350,200,200)
turtle.penup()
turtle.fd(-300)
turtle.pensize(5)
Draw_Date(time.strftime("%Y-%m=%d+",time.gmtime()))
turtle.hideturtle()
turtle.done()
main()
运行结果:
这是前段时间看的python课上老师讲的一个实例,没什么特别的地方,但是让我这个新手对函数的定义与复合使用有了新的认识;在面对一些复杂问题的时候,我们可以把问题模块化,一个个的去解决,这样就会容易的多。