import turtle import time t = turtle.Pen() t.shape('turtle') t.speed(0) t.pensize(5) t.pencolor('blue') turtle.setup(1000,600) turtle.bgcolor('yellow') def drawline(flag): t.up() t.fd(5) if flag: t.down() else: t.up() t.fd(40) t.up() t.fd(5) t.right(90) def drawdigit(num): drawline(True) if num in [2,3,4,5,6,8,9] else drawline(False) drawline(True) if num in [0,1,3,4,5,6,7,8,9] else drawline(False) drawline(True) if num in [0,2,3,5,6,8,9] else drawline(False) drawline(True) if num in [0,2,6,8] else drawline(False) t.left(90) drawline(True) if num in [0,4,5,6,8,9] else drawline(False) drawline(True) if num in [0, 2,3,5,6,7,8,9] else drawline(False) drawline(True) if num in [0,1,2,3,4,7,8,9] else drawline(False) t.up() t.right(180) t.fd(40) def date_digit(date): t.up() t.backward(400) t.down() for i in date: if i == '/': t.write('年',font=("Arial", 35, "normal")) t.up() t.fd(20) t.down() elif i =='-': t.write('月',font=("Arial", 35, "normal")) t.up() t.fd(60) t.down() elif i =='$': t.write('日',font=("Arial", 35, "normal")) t.up() t.right(90) t.fd(200) t.right(90) t.fd(700) t.right(180) t.down() elif i =='#': t.write('时',font=("Arial", 35, "normal")) t.up() t.fd(60) t.down() elif i =='!': t.write('分',font=("Arial", 35, "normal")) t.up() t.fd(60) t.down() elif i =='~': t.write('秒',font=("Arial", 35, "normal")) t.up() t.fd(60) t.down() else: drawdigit(eval(i)) t.up() t.left(90) t.fd(350) t.left(90) t.fd(620) t.down() t.pencolor('red') t.write('程序员日快乐!!!',font=("Arial", 35, "normal")) t.hideturtle() def main(): date_digit(time.strftime('%Y/%m-%d$%H#%M!%S~',time.gmtime())) turtle.done() main()
"""时间绘制就是函数的套用,分别完成最简单的划线判断,
把数字分成七步,每一步判定是否提起画笔,或落笔
提起画笔,落笔可以套用函数
完成单个数字的制作后,根据新需要,需绘制多个数字,发现运用原有的函数,
每个数字都在原有的数字上方绘制,所以需在每个数字绘制结束时提起画笔,向右平移
目前可以通过输入数字来绘制相应的数字,接下来就是运用gmTIME.函数提取,用strftime()格式化
通过 for in 函数逐个提取时间里的字符串,运用If函数判断是否为特定的指示符(格式化的时候设定的)
通过t.write()函数输出相应的汉子 font=(),调整字体大小及其他,如不会拼写可按ctrl查看函数详情
这样就能完整的输出相应的时间及汉字,但需要通过t.fd调整数字与汉字之间的距离
想加入汉字另起一行,需要在判定函数的最后更改初始位置,也要观察最后画笔方向从而调整
如需最后让画笔消失,运用hideturtle(),##注意所有函数引用都需要带括号,否则会报错
turtle.done()/turtlemainloop(),两个函数一定要放在最后,不然影响后运行,出现不报错但无法运行的尴尬。
接下来就是细微的调整比如,线条得颜色 t.pencolor(),线条的粗细t.pensize(),箭头的形状t.shap(),画笔的速度t.speed()#0速度最快
可以通过turtle.setup()调整画布大小,turtle.bgcolor()调整画布背景"""
import turtle t = turtle.Pen() t.shape('turtle') # t.speed(0) """一个海螺型,一个直线条""" def draw(num): t.down() t.circle(num,180) # t.fd(num) # t.right(90) def fib(n): a, b = 0, 1 for i in range(n + 1): a, b = b, a + b draw(a) # return a fib(100) turtle.done() # a = fib(100)